From 745129e8251cd5faab345a8cd7359e9d3c80d417 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Mon, 22 Nov 2021 21:08:56 +0100
Subject: [PATCH 001/262] builtin string: don't print final newline if it's
missing from stdin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
A command like "printf nonewline | sed s/x/y/" does not print a
concluding newline, whereas "printf nnl | string replace x y" does.
This is an edge case -- usually the user input does have a newline at
the end -- but it seems still better for this command to just forward
the user's data.
Teach most string subcommands to check if stdin is missing the trailing
newline, and stop adding one in that case.
This does not apply when input is read from commandline arguments.
* Most subcommands stop adding the final newline, because they don't
really care about newlines, so besides their normal processing,
they just want to preserve user input. They are:
* string collect
* string escape/unescape
* string join¹
* string lower/upper
* string pad
* string replace
* string repeat
* string sub
* string trim
* string match keeps adding the newline, following "grep". Additionally,
for string match --regex, it's important to output capture groups
separated by newlines, resulting in multiple output lines for an
input line. So it is not obvious where to leave out the newline.
* string split/split0 keep adding the newline for the same reason --
they are meant to output multiple elements for a single input line.
¹) string join0 is not changed because it already printed a trailing
zero byte instead of the trailing newline. This is consistent
with other tools like "find -print0".
Closes #3847
---
CHANGELOG.rst | 1 +
src/builtins/string.cpp | 74 +++++++++++++++++++++++++++----------
src/io.cpp | 10 +++--
src/io.h | 12 ++++--
tests/checks/expansion.fish | 1 +
tests/checks/string.fish | 21 ++++++++---
6 files changed, 85 insertions(+), 34 deletions(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 37b497089..29160a079 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -77,6 +77,7 @@ Scripting improvements
- ``cd ""`` no longer crashes fish (:issue:`8147`).
- ``set --query`` can now query whether a variable is a pathvar via ``--path`` or ``--unpath`` (:issue:`8494`).
- Tilde characters (``~``) produced by custom completions are no longer escaped when applied to the command line, making it easier to use the output of a recursive ``complete -C`` in completion scripts (:issue:`4570`).
+- Most ``string`` subcommands no longer print a final newline if such is missing from stdin (:issue:`3847`).
Interactive improvements
------------------------
diff --git a/src/builtins/string.cpp b/src/builtins/string.cpp
index c4c1a138c..f24e9db28 100644
--- a/src/builtins/string.cpp
+++ b/src/builtins/string.cpp
@@ -79,6 +79,11 @@ class arg_iterator_t {
// Backing storage for the next() string.
wcstring storage_;
const io_streams_t &streams_;
+ // If set, we have consumed all of stdin and its last line is missing a newline character.
+ // This is an edge case -- we expect text input, which is conventionally terminated by a
+ // newline character. But if it isn't, we use this to avoid creating one out of thin air,
+ // to not corrupt input data.
+ bool missing_trailing_newline = false;
/// Reads the next argument from stdin, returning true if an argument was produced and false if
/// not. On true, the string is stored in storage_.
@@ -94,6 +99,7 @@ class arg_iterator_t {
// If we still have buffer contents, flush them,
// in case there was no trailing sep.
if (buffer_.empty()) return false;
+ missing_trailing_newline = true;
storage_ = str2wcstring(buffer_);
buffer_.clear();
return true;
@@ -131,6 +137,11 @@ class arg_iterator_t {
return nullptr;
}
}
+
+ /// Returns true if we should add a newline after printing output for the current item.
+ /// This is only ever false in an edge case, namely after we have consumed stdin and the
+ /// last line is missing a trailing newline.
+ bool want_newline() const { return !missing_trailing_newline; }
};
// This is used by the string subcommands to communicate with the option parser which flags are
@@ -688,7 +699,9 @@ static int string_escape(parser_t &parser, io_streams_t &streams, int argc, cons
arg_iterator_t aiter(argv, optind, streams);
while (const wcstring *arg = aiter.nextstr()) {
streams.out.append(escape_string(*arg, flags, opts.escape_style));
- streams.out.append(L'\n');
+ if (aiter.want_newline()) {
+ streams.out.append(L'\n');
+ }
nesc++;
}
@@ -713,7 +726,9 @@ static int string_unescape(parser_t &parser, io_streams_t &streams, int argc,
wcstring result;
if (unescape_string(*arg, &result, flags, opts.escape_style)) {
streams.out.append(result);
- streams.out.append(L'\n');
+ if (aiter.want_newline()) {
+ streams.out.append(L'\n');
+ }
nesc++;
}
}
@@ -745,7 +760,11 @@ static int string_join_maybe0(parser_t &parser, io_streams_t &streams, int argc,
nargs++;
}
if (nargs > 0 && !opts.quiet) {
- streams.out.push_back(is_join0 ? L'\0' : L'\n');
+ if (is_join0) {
+ streams.out.push_back(L'\0');
+ } else if (aiter.want_newline()) {
+ streams.out.push_back(L'\n');
+ }
}
return nargs > 1 ? STATUS_CMD_OK : STATUS_CMD_ERROR;
@@ -1323,7 +1342,9 @@ static int string_pad(parser_t &parser, io_streams_t &streams, int argc, const w
padded.append(pad, opts.char_to_pad);
}
}
- padded.push_back(L'\n');
+ if (aiter_width.want_newline()) {
+ padded.push_back(L'\n');
+ }
streams.out.append(padded);
}
@@ -1343,7 +1364,7 @@ class string_replacer_t {
virtual ~string_replacer_t() = default;
int replace_count() const { return total_replaced; }
- virtual bool replace_matches(const wcstring &arg) = 0;
+ virtual bool replace_matches(const wcstring &arg, bool want_newline) = 0;
};
class literal_replacer_t : public string_replacer_t {
@@ -1360,7 +1381,7 @@ class literal_replacer_t : public string_replacer_t {
patlen(pattern.length()) {}
~literal_replacer_t() override = default;
- bool replace_matches(const wcstring &arg) override;
+ bool replace_matches(const wcstring &arg, bool want_newline) override;
};
static maybe_t interpret_escapes(const wcstring &arg) {
@@ -1400,12 +1421,12 @@ class regex_replacer_t : public string_replacer_t {
}
}
- bool replace_matches(const wcstring &arg) override;
+ bool replace_matches(const wcstring &arg, bool want_newline) override;
};
/// A return value of true means all is well (even if no replacements were performed), false
/// indicates an unrecoverable error.
-bool literal_replacer_t::replace_matches(const wcstring &arg) {
+bool literal_replacer_t::replace_matches(const wcstring &arg, bool want_newline) {
wcstring result;
bool replacement_occurred = false;
@@ -1432,7 +1453,9 @@ bool literal_replacer_t::replace_matches(const wcstring &arg) {
if (!opts.quiet && (!opts.filter || replacement_occurred)) {
streams.out.append(result);
- streams.out.append(L'\n');
+ if (want_newline) {
+ streams.out.append(L'\n');
+ }
}
return true;
@@ -1440,7 +1463,7 @@ bool literal_replacer_t::replace_matches(const wcstring &arg) {
/// A return value of true means all is well (even if no replacements were performed), false
/// indicates an unrecoverable error.
-bool regex_replacer_t::replace_matches(const wcstring &arg) {
+bool regex_replacer_t::replace_matches(const wcstring &arg, bool want_newline) {
if (!regex.code) return false; // pcre2_compile() failed
if (!replacement) return false; // replacement was an invalid string
@@ -1488,7 +1511,9 @@ bool regex_replacer_t::replace_matches(const wcstring &arg) {
bool replacement_occurred = pcre2_rc > 0;
if (!opts.quiet && (!opts.filter || replacement_occurred)) {
streams.out.append(outstr);
- streams.out.append(L'\n');
+ if (want_newline) {
+ streams.out.append(L'\n');
+ }
}
total_replaced += pcre2_rc;
}
@@ -1520,7 +1545,7 @@ static int string_replace(parser_t &parser, io_streams_t &streams, int argc, con
arg_iterator_t aiter(argv, optind, streams);
while (const wcstring *arg = aiter.nextstr()) {
- if (!replacer->replace_matches(*arg)) return STATUS_INVALID_ARGS;
+ if (!replacer->replace_matches(*arg, aiter.want_newline())) return STATUS_INVALID_ARGS;
if (opts.quiet && replacer->replace_count() > 0) return STATUS_CMD_OK;
}
@@ -1601,12 +1626,12 @@ static int string_split_maybe0(parser_t &parser, io_streams_t &streams, int argc
for (const auto &field : opts.fields) {
if (field - 1 < (long)splits.size()) {
streams.out.append_with_separation(splits.at(field - 1),
- separation_type_t::explicitly);
+ separation_type_t::explicitly, true);
}
}
} else {
for (const wcstring &split : splits) {
- streams.out.append_with_separation(split, separation_type_t::explicitly);
+ streams.out.append_with_separation(split, separation_type_t::explicitly, true);
}
}
}
@@ -1641,7 +1666,8 @@ static int string_collect(parser_t &parser, io_streams_t &streams, int argc, con
len -= 1;
}
}
- streams.out.append_with_separation(s, len, separation_type_t::explicitly);
+ streams.out.append_with_separation(s, len, separation_type_t::explicitly,
+ aiter.want_newline());
appended += len;
}
@@ -1650,7 +1676,9 @@ static int string_collect(parser_t &parser, io_streams_t &streams, int argc, con
// echo (true | string collect --allow-empty)"bar"
// prints "bar".
if (opts.allow_empty && appended == 0) {
- streams.out.append_with_separation(L"", 0, separation_type_t::explicitly);
+ streams.out.append_with_separation(
+ L"", 0, separation_type_t::explicitly,
+ true /* historical behavior is to always print a newline */);
}
return appended > 0 ? STATUS_CMD_OK : STATUS_CMD_ERROR;
@@ -1718,7 +1746,7 @@ static int string_repeat(parser_t &parser, io_streams_t &streams, int argc, cons
}
// Historical behavior is to never append a newline if all strings were empty.
- if (!opts.quiet && !opts.no_newline && !all_empty) {
+ if (!opts.quiet && !opts.no_newline && !all_empty && aiter.want_newline()) {
streams.out.append(L'\n');
}
@@ -1780,7 +1808,9 @@ static int string_sub(parser_t &parser, io_streams_t &streams, int argc, const w
// Note that std::string permits count to extend past end of string.
if (!opts.quiet) {
streams.out.append(s->substr(pos, count));
- streams.out.append(L'\n');
+ if (aiter.want_newline()) {
+ streams.out.append(L'\n');
+ }
}
nsub++;
if (opts.quiet) return STATUS_CMD_OK;
@@ -1823,7 +1853,9 @@ static int string_trim(parser_t &parser, io_streams_t &streams, int argc, const
ntrim += arg->size() - (end - begin);
if (!opts.quiet) {
streams.out.append(wcstring(*arg, begin, end - begin));
- streams.out.append(L'\n');
+ if (aiter.want_newline()) {
+ streams.out.append(L'\n');
+ }
} else if (ntrim > 0) {
return STATUS_CMD_OK;
}
@@ -1849,7 +1881,9 @@ static int string_transform(parser_t &parser, io_streams_t &streams, int argc, c
if (transformed != *arg) n_transformed++;
if (!opts.quiet) {
streams.out.append(transformed);
- streams.out.append(L'\n');
+ if (aiter.want_newline()) {
+ streams.out.append(L'\n');
+ }
} else if (n_transformed > 0) {
return STATUS_CMD_OK;
}
diff --git a/src/io.cpp b/src/io.cpp
index 63565bae1..9e86ebebc 100644
--- a/src/io.cpp
+++ b/src/io.cpp
@@ -309,13 +309,14 @@ shared_ptr io_chain_t::io_for_fd(int fd) const {
void output_stream_t::append_narrow_buffer(separated_buffer_t buffer) {
for (const auto &rhs_elem : buffer.elements()) {
- append_with_separation(str2wcstring(rhs_elem.contents), rhs_elem.separation);
+ append_with_separation(str2wcstring(rhs_elem.contents), rhs_elem.separation, false);
}
}
-void output_stream_t::append_with_separation(const wchar_t *s, size_t len, separation_type_t type) {
+void output_stream_t::append_with_separation(const wchar_t *s, size_t len, separation_type_t type,
+ bool want_newline) {
append(s, len);
- if (type == separation_type_t::explicitly) {
+ if (type == separation_type_t::explicitly && want_newline) {
append(L'\n');
}
}
@@ -352,7 +353,8 @@ void buffered_output_stream_t::append(const wchar_t *s, size_t amt) {
}
void buffered_output_stream_t::append_with_separation(const wchar_t *s, size_t len,
- separation_type_t type) {
+ separation_type_t type, bool want_newline) {
+ UNUSED(want_newline);
buffer_->append(wcs2string(s, len), type);
}
diff --git a/src/io.h b/src/io.h
index 14ed800c2..55247f9a8 100644
--- a/src/io.h
+++ b/src/io.h
@@ -365,11 +365,14 @@ class output_stream_t : noncopyable_t, nonmovable_t {
virtual int flush_and_check_error();
/// An optional override point. This is for explicit separation.
- virtual void append_with_separation(const wchar_t *s, size_t len, separation_type_t type);
+ /// \param want_newline this is true if the output item should be ended with a newline. This
+ /// is only relevant if we are printing the output to a stream,
+ virtual void append_with_separation(const wchar_t *s, size_t len, separation_type_t type,
+ bool want_newline);
/// The following are all convenience overrides.
- void append_with_separation(const wcstring &s, separation_type_t type) {
- append_with_separation(s.data(), s.size(), type);
+ void append_with_separation(const wcstring &s, separation_type_t type, bool want_newline) {
+ append_with_separation(s.data(), s.size(), type, want_newline);
}
/// Append a string.
@@ -443,7 +446,8 @@ class buffered_output_stream_t final : public output_stream_t {
}
void append(const wchar_t *s, size_t amt) override;
- void append_with_separation(const wchar_t *s, size_t len, separation_type_t type) override;
+ void append_with_separation(const wchar_t *s, size_t len, separation_type_t type,
+ bool want_newline) override;
int flush_and_check_error() override;
private:
diff --git a/tests/checks/expansion.fish b/tests/checks/expansion.fish
index 0cff88d14..15435161f 100644
--- a/tests/checks/expansion.fish
+++ b/tests/checks/expansion.fish
@@ -40,6 +40,7 @@ echo \'{ hello , world }\'
for phrase in {good\,, beautiful ,morning}
echo -n "$phrase "
end | string trim
+echo
for phrase in {goodbye\,,\ cruel\ ,world\n}
echo -n $phrase
end
diff --git a/tests/checks/string.fish b/tests/checks/string.fish
index 8aaa400dd..b77e09e9f 100644
--- a/tests/checks/string.fish
+++ b/tests/checks/string.fish
@@ -601,12 +601,12 @@ and echo uppercasing a uppercase string did not fail as expected
# 'Check NUL'
# Note: We do `string escape` at the end to make a `\0` literal visible.
-printf 'a\0b' | string escape
-printf 'a\0c' | string match -e a | string escape
-printf 'a\0d' | string split '' | string escape
-printf 'a\0b' | string match -r '.*b$' | string escape
-printf 'a\0b' | string replace b g | string escape
-printf 'a\0b' | string replace -r b g | string escape
+printf 'a\0b\n' | string escape
+printf 'a\0c\n' | string match -e a | string escape
+printf 'a\0d\n' | string split '' | string escape
+printf 'a\0b\n' | string match -r '.*b$' | string escape
+printf 'a\0b\n' | string replace b g | string escape
+printf 'a\0b\n' | string replace -r b g | string escape
# TODO: These do not yet work!
# printf 'a\0b' | string match '*b' | string escape
# CHECK: a\x00b
@@ -797,3 +797,12 @@ echo "foo1x foo2x foo3x" | string match -arg 'foo(\d)x'
# CHECK: 1
# CHECK: 2
# CHECK: 3
+
+# Most subcommands preserve missing newline (#3847).
+echo -n abc | string upper
+echo ''
+# CHECK: ABC
+printf \<
+printf my-password | string replace -ra . \*
+printf \>\n
+# CHECK: <***********>
From 8e60f1b4a3ae9390f26206766328d46d3a0dcf24 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Fri, 14 Jan 2022 18:54:01 +0100
Subject: [PATCH 002/262] docs: Set doc language
This sets the html lang= attribute, which should be useful for
accessibility (screenreaders).
---
doc_src/conf.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/doc_src/conf.py b/doc_src/conf.py
index abcab794f..def07e916 100644
--- a/doc_src/conf.py
+++ b/doc_src/conf.py
@@ -93,12 +93,14 @@ source_suffix = ".rst"
# The master toctree document.
master_doc = "index"
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
+# The languages this uses, also used for content autogenerated by Sphinx.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
-language = None
+#
+# It also sets the html lang= attribute which would be useful to e.g. screenreaders.
+# Currently we only have english.
+language = "en"
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
From 0781473564dd89d13c646659a9d957d46607fcf3 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Sat, 15 Jan 2022 12:17:43 +0100
Subject: [PATCH 003/262] argparse: Jump to the next option after an unknown
one
Previously, when we got an unknown option with --ignore-unknown, we
would increment woptind but still try to read the same contents.
This means in e.g.
```
argparse -i h -- -ooo -h
```
The `-h` would also be skipped as an option, because after the first
`-o` getopt reads the other two `-o` and skips that many options.
This could be handled more extensively in wgetopt, but the simpler fix
is to just skip to the next argv entry once we have an unknown option
- there's nothing more we can do with it anyway!
Additionally, document this and clearly explain that we currently
don't transform the option.
Fixes #8637
---
doc_src/cmds/argparse.rst | 15 +++++++++++++++
src/builtins/argparse.cpp | 3 +++
tests/checks/argparse.fish | 11 +++++++++++
3 files changed, 29 insertions(+)
diff --git a/doc_src/cmds/argparse.rst b/doc_src/cmds/argparse.rst
index dd6e8e674..dff27444c 100644
--- a/doc_src/cmds/argparse.rst
+++ b/doc_src/cmds/argparse.rst
@@ -184,3 +184,18 @@ Some OPTION_SPEC examples:
After parsing the arguments the ``argv`` variable is set with local scope to any values not already consumed during flag processing. If there are no unbound values the variable is set but ``count $argv`` will be zero.
If an error occurs during argparse processing it will exit with a non-zero status and print error messages to stderr.
+
+Limitations
+-----------
+
+One limitation with **--ignore-unknown** is that, if an unknown option is given in a group with known options, the entire group will be kept in $argv. ``argparse`` will not do any permutations here.
+
+For instance::
+
+ argparse --ignore-unknown h -- -ho
+ echo $_flag_h # is -h, because -h was given
+ echo $argv # is still -ho
+
+This limitation may be lifted in future.
+
+Additionally, it can only parse known options up to the first unknown option in the group - the unknown option could take options, so it isn't clear what any character after an unknown option means.
diff --git a/src/builtins/argparse.cpp b/src/builtins/argparse.cpp
index 53824abc3..9f06d19ac 100644
--- a/src/builtins/argparse.cpp
+++ b/src/builtins/argparse.cpp
@@ -596,6 +596,9 @@ static int argparse_parse_flags(parser_t &parser, argparse_cmd_opts_t &opts,
opts.argv.push_back(arg_contents - 1);
// Work around weirdness with wgetopt, which crashes if we `continue` here.
if (w.woptind == argc) break;
+ // Explain to wgetopt that we want to skip to the next arg,
+ // because we can't handle this opt group.
+ w.nextchar = nullptr;
}
if (retval != STATUS_CMD_OK) return retval;
long_idx = -1;
diff --git a/tests/checks/argparse.fish b/tests/checks/argparse.fish
index a55844b63..9a5885de1 100644
--- a/tests/checks/argparse.fish
+++ b/tests/checks/argparse.fish
@@ -498,3 +498,14 @@ begin
#CHECKERR: ^
#CHECKERR: (Type 'help argparse' for related documentation)
end
+
+begin
+ argparse --ignore-unknown h i -- -hoa -oia
+ echo -- $argv
+ #CHECK: -hoa -oia
+ echo $_flag_h
+ #CHECK: -h
+ set -q _flag_i
+ or echo No flag I
+ #CHECK: No flag I
+end
From ca12ce249443d413e9ed655c4b8d31163d52e51b Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Sat, 15 Jan 2022 12:22:11 +0100
Subject: [PATCH 004/262] CHANGELOG
---
CHANGELOG.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 69d832b7a..000918698 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -88,6 +88,7 @@ Scripting improvements
- The ``la`` function no longer lists entries for "." and "..", matching other systems defaults (:issue:`8519`).
- ``abbr -q`` returns the correct exit status when given multiple abbreviation names as arguments (:issue:`8431`).
- ``command -v`` returns an exit status of 127 instead of 1 if no command was found (:issue:`8547`).
+- ``argparse`` with ``--ignore-unknown`` no longer breaks with multiple unknown options in a short option group (:issue:`8637`).
Interactive improvements
------------------------
From 698b8189356c8224443fdfc4399408f932d53aca Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Sun, 16 Jan 2022 11:14:11 +0100
Subject: [PATCH 005/262] Shorten default title
This now skips the "fish" bit and uses prompt_pwd to print a shorter title.
See #8641.
---
CHANGELOG.rst | 1 +
share/functions/fish_title.fish | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 000918698..50b000bd6 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -115,6 +115,7 @@ Interactive improvements
- The clipboard bindings ignore X-based clipboard programs if the ``DISPLAY`` environment variable is not set, which helps prefer the Windows clipboard when it is available (such as on WSL).
- ``funcsave`` will remove a saved copy of a function that has been erased with ``functions --erase``.
- The Web-based configuration tool gained a number of improvements, including the ability to set pager colors.
+- The default ``fish_title`` prints a shorter title with shortened $PWD and no more redundant "fish" (:issue:`8641`).
New or improved bindings
^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/share/functions/fish_title.fish b/share/functions/fish_title.fish
index 800f2d8f1..ec3d3e5ff 100644
--- a/share/functions/fish_title.fish
+++ b/share/functions/fish_title.fish
@@ -3,6 +3,15 @@ function fish_title
if not set -q INSIDE_EMACS; or string match -vq '*,term:*' -- $INSIDE_EMACS
# An override for the current command is passed as the first parameter.
# This is used by `fg` to show the true process name, among others.
- echo (set -q argv[1] && echo $argv[1] || status current-command) (__fish_pwd)
+ if set -q argv[1]
+ echo -- $argv[1] (prompt_pwd -d 1 -D 0)
+ else
+ # Don't print "fish" because it's redundant
+ set -l command (status current-command)
+ if test "$command" = fish
+ set command
+ end
+ echo -- $command (prompt_pwd -d 1 -D 1)
+ end
end
end
From 6df86c6c23e3668ad8490310d77ef6440b054e7d Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 12:26:18 +0100
Subject: [PATCH 006/262] math.rst: use 4 spaces instead of a tab for
indentation
I personally prefer tabs but we always use spaces, so this is much
less surprising.
---
doc_src/cmds/fish_hg_prompt.rst | 2 +-
doc_src/cmds/math.rst | 46 ++++++++++++++++-----------------
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/doc_src/cmds/fish_hg_prompt.rst b/doc_src/cmds/fish_hg_prompt.rst
index 8db66c21c..0fa7dc3aa 100644
--- a/doc_src/cmds/fish_hg_prompt.rst
+++ b/doc_src/cmds/fish_hg_prompt.rst
@@ -22,7 +22,7 @@ The fish_hg_prompt function displays information about the current Mercurial rep
By default, only the current branch is shown because ``hg status`` can be slow on a large repository. You can enable a more informative prompt by setting the variable ``$fish_prompt_hg_show_informative_status``, for example::
- set --universal fish_prompt_hg_show_informative_status
+ set --universal fish_prompt_hg_show_informative_status
If you enabled the informative status, there are numerous customization options, which can be controlled with fish variables.
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index ee3104c76..5f64fa563 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -106,56 +106,56 @@ Functions
``abs``
the absolute value, with positive sign
``acos``
- arc cosine
+ arc cosine
``asin``
- arc sine
+ arc sine
``atan``
- arc tangent
+ arc tangent
``atan2``
- arc tangent of two variables
+ arc tangent of two variables
``bitand``, ``bitor`` and ``bitxor``
perform bitwise operations.
These will throw away any non-integer parts andd interpret the rest as an int.
``ceil``
- round number up to nearest integer
+ round number up to nearest integer
``cos``
- the cosine
+ the cosine
``cosh``
- hyperbolic cosine
+ hyperbolic cosine
``exp``
- the base-e exponential function
+ the base-e exponential function
``fac``
- factorial - also known as ``x!`` (``x * (x - 1) * (x - 2) * ... * 1``)
+ factorial - also known as ``x!`` (``x * (x - 1) * (x - 2) * ... * 1``)
``floor``
- round number down to nearest integer
+ round number down to nearest integer
``ln``
- the base-e logarithm
+ the base-e logarithm
``log`` or ``log10``
- the base-10 logarithm
+ the base-10 logarithm
``log2``
- the base-2 logarithm
+ the base-2 logarithm
``max``
- returns the larger of two numbers
+ returns the larger of two numbers
``min``
- returns the smaller of two numbers
+ returns the smaller of two numbers
``ncr``
- "from n choose r" combination function - how many subsets of size r can be taken from n (order doesn't matter)
+ "from n choose r" combination function - how many subsets of size r can be taken from n (order doesn't matter)
``npr``
- the number of subsets of size r that can be taken from a set of n elements (including different order)
+ the number of subsets of size r that can be taken from a set of n elements (including different order)
``pow(x,y)``
returns x to the y (and can be written as ``x ^ y``)
``round``
- rounds to the nearest integer, away from 0
+ rounds to the nearest integer, away from 0
``sin``
- the sine function
+ the sine function
``sinh``
- the hyperbolic sine
+ the hyperbolic sine
``sqrt``
- the square root - (can also be written as ``x ^ 0.5``)
+ the square root - (can also be written as ``x ^ 0.5``)
``tan``
- the tangent
+ the tangent
``tanh``
- the hyperbolic tangent
+ the hyperbolic tangent
All of the trigonometric functions use radians (the pi-based scale, not 360°).
From 19aebebb95a406135ebce6240ffeb203283de5c4 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:23:29 +0100
Subject: [PATCH 007/262] math.rst: remove stray mention of -- separator from
synopsis
The -- is not special here and we don't mention it in other synopses.
It was originally added for a good reason in 98449fec5 (fix `math`
regression, 2017-07-14), along this addition to math.rst:
> You should always place a `--` flag separator before the expression. [...]
However, since 56d913453 (Cache math expressions, 2017-08-24) that
line was changed to
> You don't need to use `--` before the expression even if it begins with a minus sign [...]
---
doc_src/cmds/math.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index 5f64fa563..8553e37d6 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -6,7 +6,7 @@ math - perform mathematics calculations
Synopsis
--------
-``math`` [**-s** | **--scale** *N*] [**-b** | **--base** *BASE*] [--] *EXPRESSION...*
+``math`` [**-s** | **--scale** *N*] [**-b** | **--base** *BASE*] *EXPRESSION...*
Description
From 0d6bad966084117aecbc9644eb7df03a62043ac1 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 12:11:32 +0100
Subject: [PATCH 008/262] history.rst: don't mention the --show-time option for
"history delete"
It's ignored. We could support it in future (and maybe throw an
"unsupported" error until then).
---
doc_src/cmds/history.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index 48b9dc3b0..ab96488f9 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -9,7 +9,7 @@ Synopsis
| ``history`` [**search**] [**--show-time** **--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null** **--reverse**]
\ \ [ *SEARCH_STRING...* ]
-| ``history`` **delete** [**--show-time** **--case-sensitive**]
+| ``history`` **delete** [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING...*
| ``history`` { **merge** | **save** | **clear** | **clear_session** }
From a7f45b05b731bd6bc84c675d29502a5cc8ec6c65 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 11:49:03 +0100
Subject: [PATCH 009/262] history.rst: fix wrong subcommand name and
unconventional braces
For alteration we usually use "(a | b)", not "{a | b}".
While at it, instead of writing 4/6 subcommands in one line, write them
on separate lines, so it's very obvious that all these are separate
subcommands. We mainly use the (a | b) syntax for long/short options.
---
doc_src/cmds/history.rst | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index ab96488f9..e84277624 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -11,7 +11,10 @@ Synopsis
\ \ [ *SEARCH_STRING...* ]
| ``history`` **delete** [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING...*
-| ``history`` { **merge** | **save** | **clear** | **clear_session** }
+| ``history`` **merge**
+| ``history`` **save**
+| ``history`` **clear**
+| ``history`` **clear-session**
Description
-----------
From dd8351d1b40086278e775dd783b83f872cd99ac9 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:08:10 +0100
Subject: [PATCH 010/262] history.rst: fix BNF syntax for orthogonal options
These can be used alone, or in combination, let's reflect that in
the synopsis.
---
doc_src/cmds/history.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index e84277624..5d21de7ab 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -6,8 +6,8 @@ history - show and manipulate command history
Synopsis
--------
-| ``history`` [**search**] [**--show-time** **--case-sensitive**]
- \ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null** **--reverse**]
+| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
+ \ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
\ \ [ *SEARCH_STRING...* ]
| ``history`` **delete** [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING...*
From d9287ec471e6c038c2b540c6d36ac61b2539003c Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 08:34:11 +0100
Subject: [PATCH 011/262] set.rst: fix synopsis glitch and make placeholder
uppercase
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
One synopsis misrenders as
set [options] VARIABLE*[*INDICES]… VALUES…
Add a missing backslash to fix that. Also go back to uppercase
because I'm not sure why this was changed to lowercase.
Finally, remove the spurious ellipsis after VARIABLE[INDICES].
This element cannot be repeated. Multiple index values and ranges
can be specified but that's already implied by the plural INDICES.
---
doc_src/cmds/set.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc_src/cmds/set.rst b/doc_src/cmds/set.rst
index 00d6f71f3..eec73aa49 100644
--- a/doc_src/cmds/set.rst
+++ b/doc_src/cmds/set.rst
@@ -8,10 +8,10 @@ Synopsis
| ``set`` [*scope options*]
| ``set`` [*options*] *VARIABLE* *VALUES*...
-| ``set`` [*options*] *VARIABLE*[*indicies*]... *VALUES*...
+| ``set`` [*options*] *VARIABLE*\[*INDICES*] *VALUES*...
| ``set`` ( **-q** | **--query** ) [*scope options*] *VARIABLE* ...
| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE* ...
-| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE*\[*indicies*] ...
+| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE*\[*INDICES*] ...
| ``set`` ( **-S** | **--show** ) *VARIABLE*...
Description
From 115615b8313745b7e8b717ef12d9609ab11b2eb1 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:04:56 +0100
Subject: [PATCH 012/262] psub.rst: add long option to synopsis
---
doc_src/cmds/psub.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc_src/cmds/psub.rst b/doc_src/cmds/psub.rst
index cdd4008f0..f83e086cc 100644
--- a/doc_src/cmds/psub.rst
+++ b/doc_src/cmds/psub.rst
@@ -6,7 +6,7 @@ psub - perform process substitution
Synopsis
--------
-*COMMAND1* ( *COMMAND2* | ``psub`` [**-F** | -**-fifo**] [**-f** | **--file**] [**-s** *SUFFIX*] )
+*COMMAND1* ( *COMMAND2* | ``psub`` [**-F** | -**-fifo**] [**-f** | **--file**] [(**-s** | **--suffix**) *SUFFIX*] )
Description
-----------
From 851512a7ccc7e53e907546aaed061268447eed46 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:11:06 +0100
Subject: [PATCH 013/262] complete.rst: clarify in synopsis that -c/-p take an
argument
Correct the grammar by moving the options after the command argument.
Also group the -c/--command and -p/--path pairs, to convey that the
short and long variants are equivalent.
While at it, consolidate the -C/--do-complete forms, like we usually
do.
---
doc_src/cmds/complete.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc_src/cmds/complete.rst b/doc_src/cmds/complete.rst
index 8bb0cb77d..91c17c31c 100644
--- a/doc_src/cmds/complete.rst
+++ b/doc_src/cmds/complete.rst
@@ -6,8 +6,8 @@ complete - edit command specific tab-completions
Synopsis
--------
-``complete`` **-c** | **--command** | **-p** | **--path** [*options*] *COMMAND*
-``complete`` **-C** *STRING* | **--do-complete** *STRING*
+``complete`` ((**-c** | **--command**) | (**-p** | **--path**)) *COMMAND* [*options*]
+``complete`` ((**-C** | **--do-complete**)) *STRING*
Description
-----------
From adccd6e6f55874c777d2bb47c9610913545f094f Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:42:36 +0100
Subject: [PATCH 014/262] function.rst: remove ellipsis since there is no
repetition
Alternatively we could say *COMMANDS*... or similar.
---
doc_src/cmds/function.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc_src/cmds/function.rst b/doc_src/cmds/function.rst
index 0e5b9dce5..2ec3d990a 100644
--- a/doc_src/cmds/function.rst
+++ b/doc_src/cmds/function.rst
@@ -6,7 +6,7 @@ function - create a function
Synopsis
--------
-**function** *NAME* [*OPTIONS*]; BODY ...; **end**
+**function** *NAME* [*OPTIONS*]; *BODY*; **end**
Description
From 4a4905aaa50996cff13d99a1ea82490bc98cdff3 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 08:44:27 +0100
Subject: [PATCH 015/262] docs synopses: fix RST syntax
---
doc_src/cmds/functions.rst | 2 +-
doc_src/cmds/string-trim.rst | 2 +-
doc_src/cmds/string.rst | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index 2eca671ca..21cced1ec 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -6,7 +6,7 @@ functions - print or erase functions
Synopsis
--------
-| **functions** [ **-a** | **--all** ] [ **-n | **--names** ]
+| **functions** [ **-a** | **--all** ] [ **-n** | **--names** ]
| **functions** [ **-D** | **--details** ] [ **-v** ] *FUNCTION*
| **functions** **-c** *OLDNAME* *NEWNAME*
| **functions** **-d** *DESCRIPTION* *FUNCTION*
diff --git a/doc_src/cmds/string-trim.rst b/doc_src/cmds/string-trim.rst
index 15d9d2b99..7a2aa6c1e 100644
--- a/doc_src/cmds/string-trim.rst
+++ b/doc_src/cmds/string-trim.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** CHARS*]
+``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** *CHARS*]
\ \ [**-q** | **--quiet**] [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string.rst b/doc_src/cmds/string.rst
index 40ab5066a..8b65b1967 100644
--- a/doc_src/cmds/string.rst
+++ b/doc_src/cmds/string.rst
@@ -27,7 +27,7 @@ Synopsis
\ \ [**-r** | **--right**] [*STRING*...]
| ``string`` sub [**-s** | **--start** *START*] [**-l** | **--length** *LENGTH*]
\ [**-q** | **--quiet**] [*STRING*...]
-| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** CHARS*]
+| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** *CHARS*]
\ \ [**-q** | **--quiet**] [*STRING*...]
| ``string`` unescape [**--style=**] [*STRING*...]
| ``string`` upper [**-q** | **--quiet**] [*STRING*...]
From f8e8c23ac3d499fbffe6f7177c23d079f7ff224c Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:01:51 +0100
Subject: [PATCH 016/262] docs synopses: use parenthesis to indicate that
short/long option pairs take same args
Matches Git, see for example the -O option in git-grep(1).
---
doc_src/cmds/bind.rst | 10 +++++-----
doc_src/cmds/math.rst | 2 +-
doc_src/cmds/string-pad.rst | 2 +-
doc_src/cmds/string-repeat.rst | 2 +-
doc_src/cmds/string-split.rst | 4 ++--
doc_src/cmds/string-sub.rst | 2 +-
doc_src/cmds/string-trim.rst | 2 +-
doc_src/cmds/string.rst | 10 +++++-----
8 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/doc_src/cmds/bind.rst b/doc_src/cmds/bind.rst
index e2a91397b..e708704a1 100644
--- a/doc_src/cmds/bind.rst
+++ b/doc_src/cmds/bind.rst
@@ -6,11 +6,11 @@ Synopsis
--------
| ``bind`` [(**-M** | **--mode**) *MODE*] [(*-m* | *--sets-mode*) **NEW_MODE**] [*--preset* | *--user*] [*-s* | *--silent*] [**-k** | **--key**] *SEQUENCE* *COMMAND* ...
-| ``bind`` [**-M** | **--mode** *MODE*] [**-k** | **--key**] [**--preset**] [**--user**] *SEQUENCE*
-| ``bind`` **-K** | **--key-names** [**-a** | **--all**] [**--preset**] [**--user**]
-| ``bind`` **-f** | **--function-names**
-| ``bind`` **-L** | **--list-modes**
-| ``bind`` **-e** | **--erase** [**-M** | **--mode** *MODE*] [**--preset**] [**--user**] [**-a** | **--all**] | [**-k** | **--key**] *SEQUENCE* ...
+| ``bind`` [(**-M** | **--mode**) *MODE*] [**-k** | **--key**] [**--preset**] [**--user**] *SEQUENCE*
+| ``bind`` (**-K** | **--key-names**) [**-a** | **--all**] [**--preset**] [**--user**]
+| ``bind`` (**-f** | **--function-names**)
+| ``bind`` (**-L** | **--list-modes**)
+| ``bind`` (**-e** | **--erase**) [(**-M** | **--mode**) *MODE*] [**--preset**] [**--user**] [**-a** | **--all**] | [**-k** | **--key**] *SEQUENCE* ...
Description
-----------
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index 8553e37d6..e0bc7856e 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -6,7 +6,7 @@ math - perform mathematics calculations
Synopsis
--------
-``math`` [**-s** | **--scale** *N*] [**-b** | **--base** *BASE*] *EXPRESSION...*
+``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION...*
Description
diff --git a/doc_src/cmds/string-pad.rst b/doc_src/cmds/string-pad.rst
index ec107318a..5680e9f88 100644
--- a/doc_src/cmds/string-pad.rst
+++ b/doc_src/cmds/string-pad.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` pad [**-r** | **--right**] [**-c** | **--char** *CHAR*] [**-w** | **--width** *INTEGER*]
+``string`` pad [**-r** | **--right**] [(**-c** | **--char**) *CHAR*] [(**-w** | **--width**) *INTEGER*]
\ \ [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-repeat.rst b/doc_src/cmds/string-repeat.rst
index 11ba29bbb..6f64070b0 100644
--- a/doc_src/cmds/string-repeat.rst
+++ b/doc_src/cmds/string-repeat.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` repeat [**-n** | **--count** *COUNT*] [**-m** | **--max** *MAX*] [**-N** | **--no-newline**]
+``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
\ \ [**-q** | **--quiet**] [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-split.rst b/doc_src/cmds/string-split.rst
index 6a2ae06e9..ca24edd91 100644
--- a/doc_src/cmds/string-split.rst
+++ b/doc_src/cmds/string-split.rst
@@ -6,9 +6,9 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` split [**-m** | **--max** *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
+| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
\ \ [**-r** | **--right**] *SEP* [*STRING*...]
-| ``string`` split0 [**-m** | **--max** *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
+| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
\ \ [**-r** | **--right**] [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-sub.rst b/doc_src/cmds/string-sub.rst
index aa9272622..a3bdbc01e 100644
--- a/doc_src/cmds/string-sub.rst
+++ b/doc_src/cmds/string-sub.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` sub [**-s** | **--start** *START*] [**-l** | **--length** *LENGTH*]
+``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
\ [**-q** | **--quiet**] [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-trim.rst b/doc_src/cmds/string-trim.rst
index 7a2aa6c1e..a8ac42570 100644
--- a/doc_src/cmds/string-trim.rst
+++ b/doc_src/cmds/string-trim.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** *CHARS*]
+``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
\ \ [**-q** | **--quiet**] [*STRING*...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string.rst b/doc_src/cmds/string.rst
index 8b65b1967..50dc2f96a 100644
--- a/doc_src/cmds/string.rst
+++ b/doc_src/cmds/string.rst
@@ -17,17 +17,17 @@ Synopsis
\ \ *PATTERN* [*STRING*...]
| ``string`` pad [**-r** | **--right**] [**-c** | **--char** *CHAR*] [**-w** | **--width** *INTEGER*]
\ \ [*STRING*...]
-| ``string`` repeat [**-n** | **--count** *COUNT*] [**-m** | **--max** *MAX*] [**-N** | **--no-newline**]
+| ``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
\ \ [**-q** | **--quiet**] [*STRING*...]
| ``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
\ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING*...]
-| ``string`` split [**-m** | **--max** *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
+| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
\ \ [**-r** | **--right**] *SEP* [*STRING*...]
-| ``string`` split0 [**-m** | **--max** *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
+| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
\ \ [**-r** | **--right**] [*STRING*...]
-| ``string`` sub [**-s** | **--start** *START*] [**-l** | **--length** *LENGTH*]
+| ``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
\ [**-q** | **--quiet**] [*STRING*...]
-| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [**-c** | **--chars** *CHARS*]
+| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
\ \ [**-q** | **--quiet**] [*STRING*...]
| ``string`` unescape [**--style=**] [*STRING*...]
| ``string`` upper [**-q** | **--quiet**] [*STRING*...]
From be451091d4c1ea0e63cb77a9ae53b2f6d6849dc2 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:42:36 +0100
Subject: [PATCH 017/262] docs synopses: use ellipsis with singular words
We use plural "*OPTIONS*" more often than "*OPTION*...", so let's do
that everywhere.
In some other places where we do have an ellipsis, make sure to use
singular, since the ellipsis already means repetition. This change
is incomplete, and I'm not sure if this is worth it, since it's
subjective, so I might drop it.
---
doc_src/cmds/block.rst | 2 +-
doc_src/cmds/builtin.rst | 4 ++--
doc_src/cmds/fish.rst | 4 ++--
doc_src/cmds/functions.rst | 2 +-
doc_src/cmds/while.rst | 2 +-
doc_src/language.rst | 2 +-
6 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/doc_src/cmds/block.rst b/doc_src/cmds/block.rst
index 8e2f4e6ec..7a4ed2abb 100644
--- a/doc_src/cmds/block.rst
+++ b/doc_src/cmds/block.rst
@@ -6,7 +6,7 @@ block - temporarily block delivery of events
Synopsis
--------
-**block** [*OPTIONS* ...]
+**block** [*OPTIONS*]
Description
-----------
diff --git a/doc_src/cmds/builtin.rst b/doc_src/cmds/builtin.rst
index 7a782a4ea..69261ef46 100644
--- a/doc_src/cmds/builtin.rst
+++ b/doc_src/cmds/builtin.rst
@@ -6,8 +6,8 @@ builtin - run a builtin command
Synopsis
--------
-| **builtin** [*OPTIONS* ...] *BUILTINNAME*
-| **builtin** --query *BUILTINNAMES* ...
+| **builtin** [*OPTIONS*] *BUILTINNAME*
+| **builtin** --query *BUILTINNAME* ...
Description
-----------
diff --git a/doc_src/cmds/fish.rst b/doc_src/cmds/fish.rst
index 02a4a2adb..22670453d 100644
--- a/doc_src/cmds/fish.rst
+++ b/doc_src/cmds/fish.rst
@@ -7,8 +7,8 @@ fish - the friendly interactive shell
Synopsis
--------
-| ``fish`` [*OPTIONS*] [*FILE* [ARGS ...]]
-| ``fish`` [*OPTIONS*] [**-c** *COMMAND* [ARGS ...]]
+| ``fish`` [*OPTIONS*] [*FILE* [ARG ...]]
+| ``fish`` [*OPTIONS*] [**-c** *COMMAND* [ARG ...]]
Description
-----------
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index 21cced1ec..293c4ab43 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -10,7 +10,7 @@ Synopsis
| **functions** [ **-D** | **--details** ] [ **-v** ] *FUNCTION*
| **functions** **-c** *OLDNAME* *NEWNAME*
| **functions** **-d** *DESCRIPTION* *FUNCTION*
-| **functions** [ **-e** | **-q** ] *FUNCTIONS...*
+| **functions** [ **-e** | **-q** ] *FUNCTION...*
Description
-----------
diff --git a/doc_src/cmds/while.rst b/doc_src/cmds/while.rst
index 4d7b6c319..eaa08ce11 100644
--- a/doc_src/cmds/while.rst
+++ b/doc_src/cmds/while.rst
@@ -6,7 +6,7 @@ while - perform a set of commands multiple times
Synopsis
--------
-**while** *CONDITION*; *COMMANDS...*; **end**
+**while** *CONDITION*; *COMMANDS*; **end**
Description
-----------
diff --git a/doc_src/language.rst b/doc_src/language.rst
index 5b279f1e5..ff4cfe6d6 100644
--- a/doc_src/language.rst
+++ b/doc_src/language.rst
@@ -1207,7 +1207,7 @@ A more robust approach to argument handling is :ref:`argparse `, w
# If -h or --help is given, we print a little help text and return
if set -q _flag_help
- echo "mybetterfunction [-h|--help] [-s|--second] [ARGUMENTS...]"
+ echo "mybetterfunction [-h|--help] [-s|--second] [ARGUMENT...]"
return 0
end
From ad4530acd3457c2b761e709dd9c8b50ae2800000 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 09:49:51 +0100
Subject: [PATCH 018/262] docs synopses: add space before ellipsis
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This matches the style in man(1) (except that we use the … ligature).
A previous iteration did the reverse (never use a space before the
ellipsis). That would be a smaller change.
---
doc_src/cmds/abbr.rst | 2 +-
doc_src/cmds/argparse.rst | 2 +-
doc_src/cmds/case.rst | 2 +-
doc_src/cmds/continue.rst | 2 +-
doc_src/cmds/count.rst | 2 +-
doc_src/cmds/else.rst | 2 +-
doc_src/cmds/emit.rst | 2 +-
doc_src/cmds/end.rst | 12 ++++++------
doc_src/cmds/eval.rst | 2 +-
doc_src/cmds/fish_add_path.rst | 4 ++--
doc_src/cmds/fish_indent.rst | 2 +-
doc_src/cmds/for.rst | 2 +-
doc_src/cmds/functions.rst | 2 +-
doc_src/cmds/history.rst | 4 ++--
doc_src/cmds/if.rst | 6 +++---
doc_src/cmds/math.rst | 2 +-
doc_src/cmds/not.rst | 2 +-
doc_src/cmds/open.rst | 2 +-
doc_src/cmds/random.rst | 2 +-
doc_src/cmds/set.rst | 6 +++---
doc_src/cmds/source.rst | 2 +-
doc_src/cmds/string-collect.rst | 2 +-
doc_src/cmds/string-escape.rst | 4 ++--
doc_src/cmds/string-join.rst | 4 ++--
doc_src/cmds/string-length.rst | 2 +-
doc_src/cmds/string-lower.rst | 2 +-
doc_src/cmds/string-match.rst | 2 +-
doc_src/cmds/string-pad.rst | 2 +-
doc_src/cmds/string-repeat.rst | 2 +-
doc_src/cmds/string-replace.rst | 2 +-
doc_src/cmds/string-split.rst | 4 ++--
doc_src/cmds/string-sub.rst | 2 +-
doc_src/cmds/string-trim.rst | 2 +-
doc_src/cmds/string-upper.rst | 2 +-
doc_src/cmds/string.rst | 32 ++++++++++++++++----------------
doc_src/cmds/switch.rst | 2 +-
doc_src/language.rst | 2 +-
37 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/doc_src/cmds/abbr.rst b/doc_src/cmds/abbr.rst
index 9678e39c2..ea4e9e0a6 100644
--- a/doc_src/cmds/abbr.rst
+++ b/doc_src/cmds/abbr.rst
@@ -38,7 +38,7 @@ The following options are available:
**-l** or **--list**
Lists all abbreviated words
-**-e** *WORD* or **--erase** *WORD*...
+**-e** *WORD* or **--erase** *WORD* ...
Erase the given abbreviations
**-q** or **--query**
diff --git a/doc_src/cmds/argparse.rst b/doc_src/cmds/argparse.rst
index dff27444c..bd87f247b 100644
--- a/doc_src/cmds/argparse.rst
+++ b/doc_src/cmds/argparse.rst
@@ -6,7 +6,7 @@ argparse - parse options passed to a fish script or function
Synopsis
--------
-``argparse`` [*OPTIONS*] *OPTION_SPEC*... -- [*ARG*...]
+``argparse`` [*OPTIONS*] *OPTION_SPEC* ... -- [*ARG* ...]
Description
diff --git a/doc_src/cmds/case.rst b/doc_src/cmds/case.rst
index 1b8ef0b59..6f33d3dc9 100644
--- a/doc_src/cmds/case.rst
+++ b/doc_src/cmds/case.rst
@@ -7,7 +7,7 @@ Synopsis
--------
| **switch** *VALUE*
-| [**case** [*GLOB*...]
+| [**case** [*GLOB* ...]
| [*COMMAND* ...]]
| **end**
diff --git a/doc_src/cmds/continue.rst b/doc_src/cmds/continue.rst
index b245057c5..208f37ff1 100644
--- a/doc_src/cmds/continue.rst
+++ b/doc_src/cmds/continue.rst
@@ -6,7 +6,7 @@ continue - skip the remainder of the current iteration of the current inner loop
Synopsis
--------
-**LOOP_CONSTRUCT**; [*COMMANDS*...;] **continue**; [*COMMANDS*...;] **end**
+**LOOP_CONSTRUCT**; [*COMMANDS* ...;] **continue**; [*COMMANDS* ...;] **end**
Description
-----------
diff --git a/doc_src/cmds/count.rst b/doc_src/cmds/count.rst
index b6257399a..2ebd5859f 100644
--- a/doc_src/cmds/count.rst
+++ b/doc_src/cmds/count.rst
@@ -6,7 +6,7 @@ count - count the number of elements of a list
Synopsis
--------
-| ``count`` string1 string2...
+| ``count`` string1 string2 ...
| *command* | ``count``
| ``count`` [...] < *FILE*
diff --git a/doc_src/cmds/else.rst b/doc_src/cmds/else.rst
index 93edfbce8..2d93270b1 100644
--- a/doc_src/cmds/else.rst
+++ b/doc_src/cmds/else.rst
@@ -6,7 +6,7 @@ else - execute command if a condition is not met
Synopsis
--------
-**if** *CONDITION*; *COMMANDS_TRUE*...; [**else**; *COMMANDS_FALSE*...;] **end**
+**if** *CONDITION*; *COMMANDS_TRUE* ...; [**else**; *COMMANDS_FALSE* ...;] **end**
Description
-----------
diff --git a/doc_src/cmds/emit.rst b/doc_src/cmds/emit.rst
index 5eaf0ae2f..b4696b08d 100644
--- a/doc_src/cmds/emit.rst
+++ b/doc_src/cmds/emit.rst
@@ -6,7 +6,7 @@ emit - emit a generic event
Synopsis
--------
-``emit`` *EVENT_NAME* [*ARGUMENTS*...]
+``emit`` *EVENT_NAME* [*ARGUMENTS* ...]
Description
-----------
diff --git a/doc_src/cmds/end.rst b/doc_src/cmds/end.rst
index f2d5c40f5..4300a7cd8 100644
--- a/doc_src/cmds/end.rst
+++ b/doc_src/cmds/end.rst
@@ -7,14 +7,14 @@ Synopsis
--------
| **begin**
-| [*COMMANDS*...]
+| [*COMMANDS* ...]
| **end**
-| **function** *NAME* [*OPTIONS*]; *COMMANDS*...; **end**
-| **if** *CONDITION*; *COMMANDS_TRUE*...; [**else**; *COMMANDS_FALSE*...;] **end**
-| **switch** *VALUE*; [**case** [*WILDCARD*...]; [*COMMANDS*...]; ...] **end**
-| **while** *CONDITION*; *COMMANDS*...; **end**
-| **for** *VARNAME* in [*VALUES*...]; **COMMANDS**...; **end**
+| **function** *NAME* [*OPTIONS*]; *COMMANDS* ...; **end**
+| **if** *CONDITION*; *COMMANDS_TRUE* ...; [**else**; *COMMANDS_FALSE* ...;] **end**
+| **switch** *VALUE*; [**case** [*WILDCARD* ...]; [*COMMANDS* ...]; ...] **end**
+| **while** *CONDITION*; *COMMANDS* ...; **end**
+| **for** *VARNAME* in [*VALUES* ...]; **COMMANDS** ...; **end**
Description
-----------
diff --git a/doc_src/cmds/eval.rst b/doc_src/cmds/eval.rst
index 8434298db..867158c2f 100644
--- a/doc_src/cmds/eval.rst
+++ b/doc_src/cmds/eval.rst
@@ -6,7 +6,7 @@ eval - evaluate the specified commands
Synopsis
--------
-**eval** [*COMMANDS*...]
+**eval** [*COMMANDS* ...]
Description
-----------
diff --git a/doc_src/cmds/fish_add_path.rst b/doc_src/cmds/fish_add_path.rst
index e81e5ee20..d397e0ff8 100644
--- a/doc_src/cmds/fish_add_path.rst
+++ b/doc_src/cmds/fish_add_path.rst
@@ -7,8 +7,8 @@ fish_add_path - add to the path
Synopsis
--------
-| ``fish_add_path`` *path*...
-| ``fish_add_path`` [(*-g* | *--global*) | (*-U* | *--universal*) | (*-P* | *--path*)] [(*-m* | *--move*)] [(*-a* | *--append*) | (*-p* | *--prepend*)] [(*-v* | *--verbose*) | (*-n* | *--dry-run*)] *paths*...
+| ``fish_add_path`` *path* ...
+| ``fish_add_path`` [(*-g* | *--global*) | (*-U* | *--universal*) | (*-P* | *--path*)] [(*-m* | *--move*)] [(*-a* | *--append*) | (*-p* | *--prepend*)] [(*-v* | *--verbose*) | (*-n* | *--dry-run*)] *paths* ...
Description
diff --git a/doc_src/cmds/fish_indent.rst b/doc_src/cmds/fish_indent.rst
index e7ec1650c..855def6f4 100644
--- a/doc_src/cmds/fish_indent.rst
+++ b/doc_src/cmds/fish_indent.rst
@@ -7,7 +7,7 @@ fish_indent - indenter and prettifier
Synopsis
--------
-**fish_indent** [*OPTIONS*] [*FILE*...]
+**fish_indent** [*OPTIONS*] [*FILE* ...]
Description
diff --git a/doc_src/cmds/for.rst b/doc_src/cmds/for.rst
index 99369b7d0..36e15ddce 100644
--- a/doc_src/cmds/for.rst
+++ b/doc_src/cmds/for.rst
@@ -6,7 +6,7 @@ for - perform a set of commands multiple times
Synopsis
--------
-**for** *VARNAME* in [*VALUES*...]; *COMMANDS*...; **end**
+**for** *VARNAME* in [*VALUES* ...]; *COMMANDS* ...; **end**
Description
-----------
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index 293c4ab43..81cff7738 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -10,7 +10,7 @@ Synopsis
| **functions** [ **-D** | **--details** ] [ **-v** ] *FUNCTION*
| **functions** **-c** *OLDNAME* *NEWNAME*
| **functions** **-d** *DESCRIPTION* *FUNCTION*
-| **functions** [ **-e** | **-q** ] *FUNCTION...*
+| **functions** [ **-e** | **-q** ] *FUNCTION ...*
Description
-----------
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index 5d21de7ab..b8d5f5648 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -8,9 +8,9 @@ Synopsis
| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
- \ \ [ *SEARCH_STRING...* ]
+ \ \ [ *SEARCH_STRING ...* ]
| ``history`` **delete** [**--case-sensitive**]
- \ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING...*
+ \ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING ...*
| ``history`` **merge**
| ``history`` **save**
| ``history`` **clear**
diff --git a/doc_src/cmds/if.rst b/doc_src/cmds/if.rst
index 0fd9defb3..2f6aa65ce 100644
--- a/doc_src/cmds/if.rst
+++ b/doc_src/cmds/if.rst
@@ -6,9 +6,9 @@ if - conditionally execute a command
Synopsis
--------
-| **if** *CONDITION*; *COMMANDS_TRUE*...;
-| [**else** **if** *CONDITION2*; *COMMANDS_TRUE2*...;]
-| [**else**; *COMMANDS_FALSE*...;]
+| **if** *CONDITION*; *COMMANDS_TRUE* ...;
+| [**else** **if** *CONDITION2*; *COMMANDS_TRUE2* ...;]
+| [**else**; *COMMANDS_FALSE* ...;]
| **end**
Description
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index e0bc7856e..914c94005 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -6,7 +6,7 @@ math - perform mathematics calculations
Synopsis
--------
-``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION...*
+``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION ...*
Description
diff --git a/doc_src/cmds/not.rst b/doc_src/cmds/not.rst
index a6dfe2fa4..3168f1956 100644
--- a/doc_src/cmds/not.rst
+++ b/doc_src/cmds/not.rst
@@ -6,7 +6,7 @@ not - negate the exit status of a job
Synopsis
--------
-**not** *COMMAND* [*options*...]
+**not** *COMMAND* [*options* ...]
Description
diff --git a/doc_src/cmds/open.rst b/doc_src/cmds/open.rst
index b04f15efc..3bff34c4e 100644
--- a/doc_src/cmds/open.rst
+++ b/doc_src/cmds/open.rst
@@ -6,7 +6,7 @@ open - open file in its default application
Synopsis
--------
-``open`` *FILES*...
+``open`` *FILES* ...
Description
diff --git a/doc_src/cmds/random.rst b/doc_src/cmds/random.rst
index 93696b04a..6f77da8d1 100644
--- a/doc_src/cmds/random.rst
+++ b/doc_src/cmds/random.rst
@@ -10,7 +10,7 @@ Synopsis
| ``random`` *SEED*
| ``random`` *START* *END*
| ``random`` *START* *STEP* *END*
-| ``random`` choice [*ITEMS*...]
+| ``random`` choice [*ITEMS* ...]
Description
-----------
diff --git a/doc_src/cmds/set.rst b/doc_src/cmds/set.rst
index eec73aa49..4be28cfe4 100644
--- a/doc_src/cmds/set.rst
+++ b/doc_src/cmds/set.rst
@@ -7,12 +7,12 @@ Synopsis
--------
| ``set`` [*scope options*]
-| ``set`` [*options*] *VARIABLE* *VALUES*...
-| ``set`` [*options*] *VARIABLE*\[*INDICES*] *VALUES*...
+| ``set`` [*options*] *VARIABLE* *VALUES* ...
+| ``set`` [*options*] *VARIABLE*\[*INDICES*] *VALUES* ...
| ``set`` ( **-q** | **--query** ) [*scope options*] *VARIABLE* ...
| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE* ...
| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE*\[*INDICES*] ...
-| ``set`` ( **-S** | **--show** ) *VARIABLE*...
+| ``set`` ( **-S** | **--show** ) *VARIABLE* ...
Description
-----------
diff --git a/doc_src/cmds/source.rst b/doc_src/cmds/source.rst
index faf2845c8..7baf42e15 100644
--- a/doc_src/cmds/source.rst
+++ b/doc_src/cmds/source.rst
@@ -6,7 +6,7 @@ source - evaluate contents of file
Synopsis
--------
-| **source** *FILE* [*arguments*...]
+| **source** *FILE* [*arguments* ...]
| ``somecommand`` | **source**
diff --git a/doc_src/cmds/string-collect.rst b/doc_src/cmds/string-collect.rst
index 0374e046d..2851c09d2 100644
--- a/doc_src/cmds/string-collect.rst
+++ b/doc_src/cmds/string-collect.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` collect [**-N** | **--no-trim-newlines**] [*STRING*...]
+``string`` collect [**-N** | **--no-trim-newlines**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-escape.rst b/doc_src/cmds/string-escape.rst
index 81599b371..4fffcae9b 100644
--- a/doc_src/cmds/string-escape.rst
+++ b/doc_src/cmds/string-escape.rst
@@ -6,8 +6,8 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING*...]
-| ``string`` unescape [**--style=**] [*STRING*...]
+| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING* ...]
+| ``string`` unescape [**--style=**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-join.rst b/doc_src/cmds/string-join.rst
index a6c6caaac..658077b55 100644
--- a/doc_src/cmds/string-join.rst
+++ b/doc_src/cmds/string-join.rst
@@ -6,8 +6,8 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` join [**-q** | **--quiet**] SEP [*STRING*...]
-| ``string`` join0 [**-q** | **--quiet**] [*STRING*...]
+| ``string`` join [**-q** | **--quiet**] SEP [*STRING* ...]
+| ``string`` join0 [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-length.rst b/doc_src/cmds/string-length.rst
index 096b2363f..03728116c 100644
--- a/doc_src/cmds/string-length.rst
+++ b/doc_src/cmds/string-length.rst
@@ -8,7 +8,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` length [**-q** | **--quiet**] [*STRING*...]
+``string`` length [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-lower.rst b/doc_src/cmds/string-lower.rst
index 25dbe6bf0..a265bd049 100644
--- a/doc_src/cmds/string-lower.rst
+++ b/doc_src/cmds/string-lower.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` lower [**-q** | **--quiet**] [*STRING*...]
+``string`` lower [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-match.rst b/doc_src/cmds/string-match.rst
index dd1f879d2..61249facc 100644
--- a/doc_src/cmds/string-match.rst
+++ b/doc_src/cmds/string-match.rst
@@ -8,7 +8,7 @@ Synopsis
``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
\ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ \ *PATTERN* [*STRING*...]
+ \ \ *PATTERN* [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-pad.rst b/doc_src/cmds/string-pad.rst
index 5680e9f88..032138b63 100644
--- a/doc_src/cmds/string-pad.rst
+++ b/doc_src/cmds/string-pad.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` pad [**-r** | **--right**] [(**-c** | **--char**) *CHAR*] [(**-w** | **--width**) *INTEGER*]
- \ \ [*STRING*...]
+ \ \ [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-repeat.rst b/doc_src/cmds/string-repeat.rst
index 6f64070b0..dd6a188a2 100644
--- a/doc_src/cmds/string-repeat.rst
+++ b/doc_src/cmds/string-repeat.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ \ [**-q** | **--quiet**] [*STRING*...]
+ \ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-replace.rst b/doc_src/cmds/string-replace.rst
index cbe398777..96fc6087b 100644
--- a/doc_src/cmds/string-replace.rst
+++ b/doc_src/cmds/string-replace.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING*...]
+ \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-split.rst b/doc_src/cmds/string-split.rst
index ca24edd91..4e2ccd53b 100644
--- a/doc_src/cmds/string-split.rst
+++ b/doc_src/cmds/string-split.rst
@@ -7,9 +7,9 @@ Synopsis
.. BEGIN SYNOPSIS
| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] *SEP* [*STRING*...]
+ \ \ [**-r** | **--right**] *SEP* [*STRING* ...]
| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] [*STRING*...]
+ \ \ [**-r** | **--right**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-sub.rst b/doc_src/cmds/string-sub.rst
index a3bdbc01e..1a0301111 100644
--- a/doc_src/cmds/string-sub.rst
+++ b/doc_src/cmds/string-sub.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING*...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-trim.rst b/doc_src/cmds/string-trim.rst
index a8ac42570..d1cc677a2 100644
--- a/doc_src/cmds/string-trim.rst
+++ b/doc_src/cmds/string-trim.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ \ [**-q** | **--quiet**] [*STRING*...]
+ \ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-upper.rst b/doc_src/cmds/string-upper.rst
index 5f5661bff..e8c7fe441 100644
--- a/doc_src/cmds/string-upper.rst
+++ b/doc_src/cmds/string-upper.rst
@@ -6,7 +6,7 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` upper [**-q** | **--quiet**] [*STRING*...]
+``string`` upper [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string.rst b/doc_src/cmds/string.rst
index 50dc2f96a..7a363e6e6 100644
--- a/doc_src/cmds/string.rst
+++ b/doc_src/cmds/string.rst
@@ -6,31 +6,31 @@ string - manipulate strings
Synopsis
--------
-| ``string`` collect [**-N** | **--no-trim-newlines**] [*STRING*...]
-| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING*...]
-| ``string`` join [**-q** | **--quiet**] SEP [*STRING*...]
-| ``string`` join0 [**-q** | **--quiet**] [*STRING*...]
-| ``string`` length [**-q** | **--quiet**] [*STRING*...]
-| ``string`` lower [**-q** | **--quiet**] [*STRING*...]
+| ``string`` collect [**-N** | **--no-trim-newlines**] [*STRING* ...]
+| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING* ...]
+| ``string`` join [**-q** | **--quiet**] SEP [*STRING* ...]
+| ``string`` join0 [**-q** | **--quiet**] [*STRING* ...]
+| ``string`` length [**-q** | **--quiet**] [*STRING* ...]
+| ``string`` lower [**-q** | **--quiet**] [*STRING* ...]
| ``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
\ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ \ *PATTERN* [*STRING*...]
+ \ \ *PATTERN* [*STRING* ...]
| ``string`` pad [**-r** | **--right**] [**-c** | **--char** *CHAR*] [**-w** | **--width** *INTEGER*]
- \ \ [*STRING*...]
+ \ \ [*STRING* ...]
| ``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ \ [**-q** | **--quiet**] [*STRING*...]
+ \ \ [**-q** | **--quiet**] [*STRING* ...]
| ``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING*...]
+ \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] *SEP* [*STRING*...]
+ \ \ [**-r** | **--right**] *SEP* [*STRING* ...]
| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] [*STRING*...]
+ \ \ [**-r** | **--right**] [*STRING* ...]
| ``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING*...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ \ [**-q** | **--quiet**] [*STRING*...]
-| ``string`` unescape [**--style=**] [*STRING*...]
-| ``string`` upper [**-q** | **--quiet**] [*STRING*...]
+ \ \ [**-q** | **--quiet**] [*STRING* ...]
+| ``string`` unescape [**--style=**] [*STRING* ...]
+| ``string`` upper [**-q** | **--quiet**] [*STRING* ...]
Description
-----------
diff --git a/doc_src/cmds/switch.rst b/doc_src/cmds/switch.rst
index 8105c0453..735b6ba40 100644
--- a/doc_src/cmds/switch.rst
+++ b/doc_src/cmds/switch.rst
@@ -6,7 +6,7 @@ switch - conditionally execute a block of commands
Synopsis
--------
-**switch** *VALUE*; [**case** [*GLOB*...]; [*COMMANDS*...]; ...] **end**
+**switch** *VALUE*; [**case** [*GLOB* ...]; [*COMMANDS* ...]; ...] **end**
Description
-----------
diff --git a/doc_src/language.rst b/doc_src/language.rst
index ff4cfe6d6..1b6e97f28 100644
--- a/doc_src/language.rst
+++ b/doc_src/language.rst
@@ -1207,7 +1207,7 @@ A more robust approach to argument handling is :ref:`argparse `, w
# If -h or --help is given, we print a little help text and return
if set -q _flag_help
- echo "mybetterfunction [-h|--help] [-s|--second] [ARGUMENT...]"
+ echo "mybetterfunction [-h|--help] [-s|--second] [ARGUMENT ...]"
return 0
end
From 78101364c354e9f242cb2381320d6f784f63cc6d Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 10:00:47 +0100
Subject: [PATCH 019/262] docs synopses: remove unconventional spaces inside []
and ()
We usually write "[a | b]", not "[ a | b ]".
---
doc_src/cmds/command.rst | 2 +-
doc_src/cmds/disown.rst | 2 +-
doc_src/cmds/fish_opt.rst | 4 ++--
doc_src/cmds/functions.rst | 6 +++---
doc_src/cmds/history.rst | 2 +-
doc_src/cmds/jobs.rst | 2 +-
doc_src/cmds/nextd.rst | 2 +-
doc_src/cmds/prevd.rst | 2 +-
doc_src/cmds/set.rst | 8 ++++----
9 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/doc_src/cmds/command.rst b/doc_src/cmds/command.rst
index 69b968106..598172169 100644
--- a/doc_src/cmds/command.rst
+++ b/doc_src/cmds/command.rst
@@ -6,7 +6,7 @@ command - run a program
Synopsis
--------
-**command** [ **OPTIONS** ] [*COMMANDNAME* [ARG ...]]
+**command** [**OPTIONS**] [*COMMANDNAME* [ARG ...]]
Description
-----------
diff --git a/doc_src/cmds/disown.rst b/doc_src/cmds/disown.rst
index 864fed62c..c6b972604 100644
--- a/doc_src/cmds/disown.rst
+++ b/doc_src/cmds/disown.rst
@@ -6,7 +6,7 @@ disown - remove a process from the list of jobs
Synopsis
--------
-``disown`` [ **PID** ... ]
+``disown`` [**PID** ...]
Description
-----------
diff --git a/doc_src/cmds/fish_opt.rst b/doc_src/cmds/fish_opt.rst
index 2e437a5a2..4ff8ac573 100644
--- a/doc_src/cmds/fish_opt.rst
+++ b/doc_src/cmds/fish_opt.rst
@@ -5,8 +5,8 @@ fish_opt - create an option spec for the argparse command
Synopsis
--------
-| ``fish_opt`` [ **--help** ]
-| ``fish_opt`` [ (**-slor**, **--multiple-vals=**) *optname*]
+| ``fish_opt`` [**--help**]
+| ``fish_opt`` [(**-slor**, **--multiple-vals=**) *optname*]
Description
-----------
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index 81cff7738..2bf3ac124 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -6,11 +6,11 @@ functions - print or erase functions
Synopsis
--------
-| **functions** [ **-a** | **--all** ] [ **-n** | **--names** ]
-| **functions** [ **-D** | **--details** ] [ **-v** ] *FUNCTION*
+| **functions** [**-a** | **--all**] [**-n** | **--names**]
+| **functions** [**-D** | **--details**] [**-v**] *FUNCTION*
| **functions** **-c** *OLDNAME* *NEWNAME*
| **functions** **-d** *DESCRIPTION* *FUNCTION*
-| **functions** [ **-e** | **-q** ] *FUNCTION ...*
+| **functions** [**-e** | **-q**] *FUNCTION ...*
Description
-----------
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index b8d5f5648..2f2572a11 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -8,7 +8,7 @@ Synopsis
| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
- \ \ [ *SEARCH_STRING ...* ]
+ \ \ [*SEARCH_STRING ...*]
| ``history`` **delete** [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING ...*
| ``history`` **merge**
diff --git a/doc_src/cmds/jobs.rst b/doc_src/cmds/jobs.rst
index db4ebad76..0453247de 100644
--- a/doc_src/cmds/jobs.rst
+++ b/doc_src/cmds/jobs.rst
@@ -6,7 +6,7 @@ jobs - print currently running jobs
Synopsis
--------
-``jobs`` [*OPTIONS*] [ *PID* | %*JOBID* ]
+``jobs`` [*OPTIONS*] [*PID* | %*JOBID*]
Description
diff --git a/doc_src/cmds/nextd.rst b/doc_src/cmds/nextd.rst
index 66572b064..72f6d1b8b 100644
--- a/doc_src/cmds/nextd.rst
+++ b/doc_src/cmds/nextd.rst
@@ -6,7 +6,7 @@ nextd - move forward through directory history
Synopsis
--------
-``nextd`` [ **-l** | **--list** ] [*POS*]
+``nextd`` [**-l** | **--list**] [*POS*]
Description
-----------
diff --git a/doc_src/cmds/prevd.rst b/doc_src/cmds/prevd.rst
index 1214c6a36..2a1345b52 100644
--- a/doc_src/cmds/prevd.rst
+++ b/doc_src/cmds/prevd.rst
@@ -6,7 +6,7 @@ prevd - move backward through directory history
Synopsis
--------
-``prevd`` [ **-l** | **--list** ] [*POS*]
+``prevd`` [**-l** | **--list**] [*POS*]
Description
-----------
diff --git a/doc_src/cmds/set.rst b/doc_src/cmds/set.rst
index 4be28cfe4..d0c36871e 100644
--- a/doc_src/cmds/set.rst
+++ b/doc_src/cmds/set.rst
@@ -9,10 +9,10 @@ Synopsis
| ``set`` [*scope options*]
| ``set`` [*options*] *VARIABLE* *VALUES* ...
| ``set`` [*options*] *VARIABLE*\[*INDICES*] *VALUES* ...
-| ``set`` ( **-q** | **--query** ) [*scope options*] *VARIABLE* ...
-| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE* ...
-| ``set`` ( **-e** | **--erase** ) [*scope options*] *VARIABLE*\[*INDICES*] ...
-| ``set`` ( **-S** | **--show** ) *VARIABLE* ...
+| ``set`` (**-q** | **--query**) [*scope options*] *VARIABLE* ...
+| ``set`` (**-e** | **--erase**) [*scope options*] *VARIABLE* ...
+| ``set`` (**-e** | **--erase**) [*scope options*] *VARIABLE*\[*INDICES*] ...
+| ``set`` (**-S** | **--show**) *VARIABLE* ...
Description
-----------
From 18467457c679292f3dad2e94e0f62ecc00be2550 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 10:25:55 +0100
Subject: [PATCH 020/262] docs synopses: do not add markup to the ellipsis
character
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The ellipsis is a grammar metacharacter, just like the []()|.
Write *FOO*… instead of *FOO…*, so the ellipsis is not underlined
in the man page. Not super sure about this one.
---
doc_src/cmds/functions.rst | 2 +-
doc_src/cmds/history.rst | 4 ++--
doc_src/cmds/math.rst | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index 2bf3ac124..bb7b0e801 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -10,7 +10,7 @@ Synopsis
| **functions** [**-D** | **--details**] [**-v**] *FUNCTION*
| **functions** **-c** *OLDNAME* *NEWNAME*
| **functions** **-d** *DESCRIPTION* *FUNCTION*
-| **functions** [**-e** | **-q**] *FUNCTION ...*
+| **functions** [**-e** | **-q**] *FUNCTION* ...
Description
-----------
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index 2f2572a11..0b5128ac7 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -8,9 +8,9 @@ Synopsis
| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
\ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
- \ \ [*SEARCH_STRING ...*]
+ \ \ [*SEARCH_STRING* ...]
| ``history`` **delete** [**--case-sensitive**]
- \ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING ...*
+ \ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING* ...
| ``history`` **merge**
| ``history`` **save**
| ``history`` **clear**
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index 914c94005..7f0b043f1 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -6,7 +6,7 @@ math - perform mathematics calculations
Synopsis
--------
-``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION ...*
+``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION* ...
Description
From 97db9d5c38e03487278d6ec67cb1fc4ac812c8bd Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 11:03:31 +0100
Subject: [PATCH 021/262] docs synopses: fix alignment of continuation lines
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This corrects what looks like wrong alignment of some synopsis lines.
(I think the alignment is not a bad idea but it makes us do more
manual work, maybe we can automate that in future. We still need to
figure out how to translate it to HTML.)
"man -l build/user_doc/man/man1/history.1" before:
string match [-a | --all] [-e | --entire] [-i | --ignore-case]
[-r | --regex] [-n | --index] [-q | --quiet] [-v | --invert]
PATTERN [STRING…]
and after:
string match [-a | --all] [-e | --entire] [-i | --ignore-case]
[-r | --regex] [-n | --index] [-q | --quiet] [-v | --invert]
PATTERN [STRING…]
Also make the lines align the same way in the RST source by carefully
choosing the position of the backslash. I'm not sure why we used
two backslashes per line. Use only one; this gives us no choice
of where to put it so both source and man page output are aligned.
Change tabs to spaces to make the alignment in the source work.
---
doc_src/cmds/history.rst | 6 +++---
doc_src/cmds/string-match.rst | 4 ++--
doc_src/cmds/string-pad.rst | 2 +-
doc_src/cmds/string-repeat.rst | 2 +-
doc_src/cmds/string-replace.rst | 2 +-
doc_src/cmds/string-split.rst | 4 ++--
doc_src/cmds/string-sub.rst | 2 +-
doc_src/cmds/string-trim.rst | 2 +-
doc_src/cmds/string.rst | 18 +++++++++---------
9 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index 0b5128ac7..46be50164 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -7,10 +7,10 @@ Synopsis
--------
| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
- \ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
- \ \ [*SEARCH_STRING* ...]
+ \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
+ \ [*SEARCH_STRING* ...]
| ``history`` **delete** [**--case-sensitive**]
- \ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING* ...
+ \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING* ...
| ``history`` **merge**
| ``history`` **save**
| ``history`` **clear**
diff --git a/doc_src/cmds/string-match.rst b/doc_src/cmds/string-match.rst
index 61249facc..555ca6468 100644
--- a/doc_src/cmds/string-match.rst
+++ b/doc_src/cmds/string-match.rst
@@ -7,8 +7,8 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ \ *PATTERN* [*STRING* ...]
+ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
+ \ *PATTERN* [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-pad.rst b/doc_src/cmds/string-pad.rst
index 032138b63..4daaccbf6 100644
--- a/doc_src/cmds/string-pad.rst
+++ b/doc_src/cmds/string-pad.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` pad [**-r** | **--right**] [(**-c** | **--char**) *CHAR*] [(**-w** | **--width**) *INTEGER*]
- \ \ [*STRING* ...]
+ \ [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-repeat.rst b/doc_src/cmds/string-repeat.rst
index dd6a188a2..dce27c6ba 100644
--- a/doc_src/cmds/string-repeat.rst
+++ b/doc_src/cmds/string-repeat.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-replace.rst b/doc_src/cmds/string-replace.rst
index 96fc6087b..0dcc6039e 100644
--- a/doc_src/cmds/string-replace.rst
+++ b/doc_src/cmds/string-replace.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
+ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-split.rst b/doc_src/cmds/string-split.rst
index 4e2ccd53b..70e68b30b 100644
--- a/doc_src/cmds/string-split.rst
+++ b/doc_src/cmds/string-split.rst
@@ -7,9 +7,9 @@ Synopsis
.. BEGIN SYNOPSIS
| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] *SEP* [*STRING* ...]
+ \ [**-r** | **--right**] *SEP* [*STRING* ...]
| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] [*STRING* ...]
+ \ [**-r** | **--right**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-sub.rst b/doc_src/cmds/string-sub.rst
index 1a0301111..368a0419a 100644
--- a/doc_src/cmds/string-sub.rst
+++ b/doc_src/cmds/string-sub.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-trim.rst b/doc_src/cmds/string-trim.rst
index d1cc677a2..89832ac7a 100644
--- a/doc_src/cmds/string-trim.rst
+++ b/doc_src/cmds/string-trim.rst
@@ -7,7 +7,7 @@ Synopsis
.. BEGIN SYNOPSIS
``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string.rst b/doc_src/cmds/string.rst
index 7a363e6e6..b101d6e7a 100644
--- a/doc_src/cmds/string.rst
+++ b/doc_src/cmds/string.rst
@@ -13,22 +13,22 @@ Synopsis
| ``string`` length [**-q** | **--quiet**] [*STRING* ...]
| ``string`` lower [**-q** | **--quiet**] [*STRING* ...]
| ``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ \ *PATTERN* [*STRING* ...]
+ \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
+ \ *PATTERN* [*STRING* ...]
| ``string`` pad [**-r** | **--right**] [**-c** | **--char** *CHAR*] [**-w** | **--width** *INTEGER*]
- \ \ [*STRING* ...]
+ \ [*STRING* ...]
| ``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
| ``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
+ \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] *SEP* [*STRING* ...]
+ \ [**-r** | **--right**] *SEP* [*STRING* ...]
| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ \ [**-r** | **--right**] [*STRING* ...]
+ \ [**-r** | **--right**] [*STRING* ...]
| ``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ \ [**-q** | **--quiet**] [*STRING* ...]
+ \ [**-q** | **--quiet**] [*STRING* ...]
| ``string`` unescape [**--style=**] [*STRING* ...]
| ``string`` upper [**-q** | **--quiet**] [*STRING* ...]
From 7aa0f4a2cf5ae6a499deba9fa53b08c7725ed8b7 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 16 Jan 2022 12:09:51 +0100
Subject: [PATCH 022/262] test.rst: fix runaway space
---
doc_src/cmds/test.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc_src/cmds/test.rst b/doc_src/cmds/test.rst
index f0d550227..a1b44921b 100644
--- a/doc_src/cmds/test.rst
+++ b/doc_src/cmds/test.rst
@@ -21,7 +21,7 @@ Description
Tests the expression given and sets the exit status to 0 if true, and 1 if false. An expression is made up of one or more operators and their arguments.
-The first form (``test``) is preferred. For compatibility with other shells, the second form is available: a matching pair of square brackets (``[ [EXPRESSION ] ]``).
+The first form (``test``) is preferred. For compatibility with other shells, the second form is available: a matching pair of square brackets (``[ [EXPRESSION] ]``).
This test is mostly POSIX-compatible.
From 557d8b0334a453235605ddda654d0fe74e6644b1 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 16 Jan 2022 12:26:13 +0100
Subject: [PATCH 023/262] docs: restore default highlighting keywords and
options in HTML
Keywords and options recently got dedicated highlighting roles in
b3626d48e (Highlight keywords differently, 2021-02-04) and
711796ad1 (Highlight options differently, 2021-10-19)
but still default to "command" and "parameter", respectively.
The dedicated roles were not colored by our CSS theme,
which makes a "test -f foo.txt" look weird:
- "test" is dark blue (since it's a command)
- "foo.txt" is light blue (since it's a parameter)
- "-f" is black (weird!)
The CSS theme doesn't support configuration, so the dedicated
highlighting roles should always default to their fallback
options. Make it so.
---
doc_src/fish_indent_lexer.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/doc_src/fish_indent_lexer.py b/doc_src/fish_indent_lexer.py
index c3d5750d5..f4b154e8c 100644
--- a/doc_src/fish_indent_lexer.py
+++ b/doc_src/fish_indent_lexer.py
@@ -5,7 +5,6 @@
from pygments.lexer import Lexer
from pygments.token import (
- Keyword,
Name,
Comment,
String,
@@ -30,10 +29,10 @@ ROLE_TO_TOKEN = {
"normal": Name.Variable,
"error": Generic.Error,
"command": Name.Function,
- "keyword": Keyword,
+ "keyword": Name.Function,
"statement_terminator": Punctuation,
"param": Name.Constant,
- "option": Name.Literal,
+ "option": Name.Constant,
"comment": Comment,
"match": DEFAULT,
"search_match": DEFAULT,
From 04a905961dcc8bad395c0b39b91b8587562c2e05 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 16 Jan 2022 15:02:19 +0100
Subject: [PATCH 024/262] completions/conda.fish: use __fish_is_first_token
Closes #8614
---
share/completions/conda.fish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/completions/conda.fish b/share/completions/conda.fish
index d89e87a9c..8fbb8dca7 100644
--- a/share/completions/conda.fish
+++ b/share/completions/conda.fish
@@ -23,7 +23,7 @@ end
# Complete for the first argument only
function __fish_conda_top
- complete -c conda -n "test (count (commandline -opc)) -eq 1" $argv
+ complete -c conda -n __fish_is_first_token $argv
end
function __fish_conda_config_keys
From 49a0362c12ddbf26e66237a61cb0eb93c03f2a72 Mon Sep 17 00:00:00 2001
From: Max Nordlund gmail
Date: Fri, 14 Jan 2022 13:22:54 +0100
Subject: [PATCH 025/262] Fix nmap --script completion
It's using GNU specific flags, which doesn't work on BSDs like macOS.
Instead this just formats the current time into
seconds and then the `math` builtin for calculating the 5 min timeout.
---
share/completions/nmap.fish | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/share/completions/nmap.fish b/share/completions/nmap.fish
index 61b9842c8..213a9f4d9 100644
--- a/share/completions/nmap.fish
+++ b/share/completions/nmap.fish
@@ -71,9 +71,12 @@ complete -c nmap -l max-os-tries -d 'Set the maximum number of OS detection trie
# NMAP SCRIPTING ENGINE (NSE)
complete -c nmap -o sC -d 'Scan: Scripts (default)'
function __fish_complete_nmap_script
+ set -l now (date "+%s")
+
# cache completion for 5 minutes (`nmap --script-help all` is slow)
- if test -z "$__fish_nmap_script_completion_cache" -o (date -d "now - 5min" +"%s") -gt "$__fish_nmap_script_completion_cache_time"
- set -g __fish_nmap_script_completion_cache_time (date +"%s")
+ # must use `math` because of differences between BSD and GNU `date`
+ if test -z "$__fish_nmap_script_completion_cache" -o (math $now - 5 "*" 60) -gt "$__fish_nmap_script_completion_cache_time"
+ set -g __fish_nmap_script_completion_cache_time $now
set -g __fish_nmap_script_completion_cache ""
set -l cmd
for l in (nmap --script-help all 2> /dev/null | grep -A2 -B1 Categories: | grep -v '^\\(--\\|Categories:\\|https:\\)')
From 1f8ce5ff6c51eca7b696e8014801e0a95b8e78dd Mon Sep 17 00:00:00 2001
From: ridiculousfish
Date: Sun, 16 Jan 2022 13:34:45 -0800
Subject: [PATCH 026/262] Stop ignoring initial command in read -c
`read` allows specifying the initial command line text. This was
text got accidentally ignored starting in a32248277f026fb. Fix this
regression and add a test.
Fixes #8633
---
src/reader.cpp | 7 ++++++-
tests/pexpects/read.py | 12 ++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/src/reader.cpp b/src/reader.cpp
index 08f2f323b..62c3af304 100644
--- a/src/reader.cpp
+++ b/src/reader.cpp
@@ -4189,7 +4189,12 @@ bool reader_data_t::jump(jump_direction_t dir, jump_precision_t precision, edita
return success;
}
-maybe_t reader_readline(int nchars) { return current_data()->readline(nchars); }
+maybe_t reader_readline(int nchars) {
+ auto *data = current_data();
+ // Apply any outstanding commandline changes (#8633).
+ data->apply_commandline_state_changes();
+ return data->readline(nchars);
+}
int reader_reading_interrupted() {
int res = reader_test_and_clear_interrupted();
diff --git a/tests/pexpects/read.py b/tests/pexpects/read.py
index 3e0d416ef..929f7a796 100644
--- a/tests/pexpects/read.py
+++ b/tests/pexpects/read.py
@@ -54,6 +54,18 @@ expect_prompt()
expect_marker(2)
print_var_contents("foo", "bar")
+# read -c (see #8633)
+sendline(r"read -c init_text somevar && echo $somevar")
+expect_re("\r\n?read> init_text$")
+sendline("someval")
+expect_prompt("someval\r\n")
+
+sendline(r"read --command='some other text' somevar && echo $somevar")
+expect_re("\r\n?read> some other text$")
+sendline("another value")
+expect_prompt("another value\r\n")
+
+
# read -s
sendline("read -s foo")
From d5076572c830efc803bba852a01a4488f27c4360 Mon Sep 17 00:00:00 2001
From: Jakub Panek
Date: Fri, 14 Jan 2022 00:02:16 +0000
Subject: [PATCH 027/262] completions(apk.fish): force file/parameter
completion
Signed-off-by: Jakub Panek
---
share/completions/apk.fish | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/share/completions/apk.fish b/share/completions/apk.fish
index 6a6d204f8..ce7010e11 100644
--- a/share/completions/apk.fish
+++ b/share/completions/apk.fish
@@ -6,8 +6,8 @@ complete -f -c apk -n "__fish_seen_subcommand_from del fix version manifest" -a
# Global options
complete -f -c apk -s h -l help -d "Show help"
-complete -x -c apk -s p -l root -d "Install packages to DIR"
-complete -x -c apk -s X -l repository -d "Use packages from REPO"
+complete -r -c apk -s p -l root -d "Install packages to DIR"
+complete -r -c apk -s X -l repository -d "Use packages from REPO"
complete -f -c apk -s q -l quiet -d "Print less information"
complete -f -c apk -s v -l verbose -d "Print more information"
complete -f -c apk -s i -l interactive -d "Ask confirmation for certain operations"
@@ -20,18 +20,18 @@ complete -f -c apk -l force-overwrite -d "Overwrite files in other packages"
complete -f -c apk -l force-refresh -d "Don't use cached files"
complete -f -c apk -s U -l update-cache -d "Alias for --cache-max-age 1"
complete -f -c apk -l progress -d "Show a progress bar"
-complete -f -c apk -l progress-fd -d "Write progress to FD"
+complete -x -c apk -l progress-fd -d "Write progress to FD"
complete -f -c apk -l no-progress -d "Disable progress bar even for TTYs"
complete -f -c apk -l purge -d "Delete also modified configuration files and uninstalled packages from cache"
complete -f -c apk -l allow-untrusted -d "Install packages with untrusted signature or no signature"
-complete -f -c apk -l wait -d "Wait for TIME seconds to get an exclusive repository lock before failing"
-complete -f -c apk -l keys-dir -d "Override directory of trusted keys"
-complete -f -c apk -l repositories-file -d "Override repositories file"
+complete -x -c apk -l wait -d "Wait for TIME seconds to get an exclusive repository lock before failing"
+complete -r -c apk -l keys-dir -d "Override directory of trusted keys"
+complete -r -c apk -l repositories-file -d "Override repositories file"
complete -f -c apk -l no-network -d "Don't use network"
complete -f -c apk -l no-cache -d "Don't use any local cache path"
-complete -f -c apk -l cache-dir -d "Override cache directory"
-complete -f -c apk -l cache-max-age -d "Maximum AGE for index in cache before refresh"
-complete -f -c apk -l arch -d "Use architecture with --root"
+complete -r -c apk -l cache-dir -d "Override cache directory"
+complete -x -c apk -l cache-max-age -d "Maximum AGE for index in cache before refresh"
+complete -x -c apk -l arch -d "Use architecture with --root"
complete -f -c apk -l print-arch -d "Print default architecture"
# Commands
@@ -82,7 +82,7 @@ complete -f -c apk -n "__fish_seen_subcommand_from fix" -l directory-permissions
# Info options
complete -f -c apk -n "__fish_seen_subcommand_from info" -s L -l contents -d "List included files"
complete -f -c apk -n "__fish_seen_subcommand_from info" -s e -l installed -d "Check PACKAGE installed status"
-complete -f -c apk -n "__fish_seen_subcommand_from info" -s W -l who-owns -d "Print who owns the file"
+complete -r -c apk -n "__fish_seen_subcommand_from info" -s W -l who-owns -d "Print who owns the file"
complete -f -c apk -n "__fish_seen_subcommand_from info" -s R -l depends -d "List the dependencies"
complete -f -c apk -n "__fish_seen_subcommand_from info" -s P -l provides -d "List virtual packages provided"
complete -f -c apk -n "__fish_seen_subcommand_from info" -s r -l rdepends -d "List reverse dependencies"
@@ -132,8 +132,8 @@ complete -f -c apk -n "__fish_seen_subcommand_from version" -s a -l all -d "Cons
complete -x -c apk -n "__fish_seen_subcommand_from version" -s l -l limit -d "Limit to packages with output matching given operand"
# Index options
-complete -x -c apk -n "__fish_seen_subcommand_from index" -s o -l output -d "Write the generated index to FILE"
-complete -x -c apk -n "__fish_seen_subcommand_from index" -s x -l index -d "Read an existing index from INDEX"
+complete -r -c apk -n "__fish_seen_subcommand_from index" -s o -l output -d "Write the generated index to FILE"
+complete -r -c apk -n "__fish_seen_subcommand_from index" -s x -l index -d "Read an existing index from INDEX"
complete -x -c apk -n "__fish_seen_subcommand_from index" -s d -l description -d "Add a description to the index"
complete -x -c apk -n "__fish_seen_subcommand_from index" -l rewrite-arch -d "Use ARCH as architecture for all packages"
complete -f -c apk -n "__fish_seen_subcommand_from index" -l no-warnings -d "Disable the warning about missing dependencies"
@@ -143,7 +143,7 @@ complete -f -c apk -n "__fish_seen_subcommand_from fetch" -s L -l link -d "Creat
complete -f -c apk -n "__fish_seen_subcommand_from fetch" -s R -l recursive -d "Fetch all dependencies too"
complete -f -c apk -n "__fish_seen_subcommand_from fetch" -l simulate -d "Simulate the requested operation"
complete -f -c apk -n "__fish_seen_subcommand_from fetch" -s s -l stdout -d "Dump the .apk to stdout"
-complete -x -c apk -n "__fish_seen_subcommand_from fetch" -s o -l output -d "Write the downloaded files to DIR"
+complete -r -c apk -n "__fish_seen_subcommand_from fetch" -s o -l output -d "Write the downloaded files to DIR"
# Audit options
complete -f -c apk -n "__fish_seen_subcommand_from audit" -l backup -d "Audit configuration files only"
From 0127b237e722d4d55f6872c359627826d509cbb9 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Mon, 17 Jan 2022 17:49:00 +0100
Subject: [PATCH 028/262] completions/git: Complete heads for push
Fixes #8650
---
share/completions/git.fish | 1 +
1 file changed, 1 insertion(+)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index e4002b26b..2495cb16e 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -1669,6 +1669,7 @@ complete -f -c git -n __fish_git_needs_command -a push -d 'Update remote refs al
complete -f -c git -n '__fish_git_using_command push; and not __fish_git_branch_for_remote' -a '(__fish_git_remotes)' -d 'Remote alias'
complete -f -c git -n '__fish_git_using_command push; and __fish_git_branch_for_remote' -ka '(__fish_git_tags)' -d Tag
complete -f -c git -n '__fish_git_using_command push; and __fish_git_branch_for_remote' -ka '(__fish_git_branches)'
+complete -f -c git -n '__fish_git_using_command push; and __fish_git_branch_for_remote' -ka '(__fish_git_heads)'
# The "refspec" here is an optional "+" to signify a force-push
complete -f -c git -n '__fish_git_using_command push; and __fish_git_branch_for_remote; and string match -q "+*" -- (commandline -ct)' -a '+(__fish_git_branches | string replace -r \t".*" "")' -d 'Force-push branch'
# git push REMOTE :BRANCH deletes BRANCH on remote REMOTE
From 9b3783d54ad6c55116beb05b604f255f0d80b224 Mon Sep 17 00:00:00 2001
From: dundargoc <33953936+dundargoc@users.noreply.github.com>
Date: Mon, 17 Jan 2022 20:06:05 +0100
Subject: [PATCH 029/262] completions: shorten descriptions for p4 (#8647)
Work towards #6981
---
share/completions/p4.fish | 148 +++++++++++++++++++-------------------
1 file changed, 74 insertions(+), 74 deletions(-)
diff --git a/share/completions/p4.fish b/share/completions/p4.fish
index d5de08778..b83804d20 100644
--- a/share/completions/p4.fish
+++ b/share/completions/p4.fish
@@ -323,25 +323,25 @@ end
### global options -- can be used before any command
#########################################################
-complete -c p4 -n __fish_p4_not_in_command -s b -x -d 'Specifies a batch size (number of arguments) to use when processing a command from a file with the -x argfile option'
-complete -c p4 -n __fish_p4_not_in_command -s c -x -d 'Overrides any P4CLIENT setting with the specified client name'
-complete -c p4 -n __fish_p4_not_in_command -s d -r -d 'Overrides any PWD setting (current working directory) and replaces it with the specified directory'
-complete -c p4 -n __fish_p4_not_in_command -s I -d 'Specify that progress indicators, if available, are desired. This option is not compatible with the -s and -G options'
-complete -c p4 -n __fish_p4_not_in_command -s G -d 'Causes all output (and batch input for form commands with -i) to be formatted as marshalled Python dictionary objects'
-complete -c p4 -n __fish_p4_not_in_command -s H -x -a '(__fish_print_hostnames)' -d 'Overrides any P4HOST setting and replaces it with the specified hostname'
-complete -c p4 -n __fish_p4_not_in_command -s p -x -d 'Overrides any P4PORT setting with the specified protocol:host:port'
-complete -c p4 -n __fish_p4_not_in_command -s P -x -d 'Overrides any P4PASSWD setting with the specified password.'
-complete -c p4 -n __fish_p4_not_in_command -s r -x -d 'Specifies the number of times to retry a command (notably, p4 sync) if the network times out.'
-complete -c p4 -n __fish_p4_not_in_command -s s -d 'Prepends a descriptive field (for example, text:, info:, error:, exit:) to each line of output produced by a Perforce command. This is most often used when scripting.'
-complete -c p4 -n __fish_p4_not_in_command -s u -x -a '(__fish_print_p4_users)' -d 'Overrides any P4USER, USER, or USERNAME setting with the specified user name.'
-complete -c p4 -n __fish_p4_not_in_command -s x -r -d 'Instructs Perforce to read arguments, one per line, from the specified file. If file is a single hyphen (-), then standard input is read.'
-complete -c p4 -n __fish_p4_not_in_command -s C -x -a '(__fish_print_encodings)' -d 'Overrides any P4CHARSET setting with the specified character set.'
-complete -c p4 -n __fish_p4_not_in_command -s Q -x -a '(__fish_print_encodings)' -d 'Overrides any P4COMMANDCHARSET setting with the specified character set.'
-complete -c p4 -n __fish_p4_not_in_command -s L -x -d 'This feature is reserved for system integrators.'
-complete -c p4 -n __fish_p4_not_in_command -s z -x -d 'Causes output of many reporting commands to be in the same tagged format as that generated by p4 fstat.'
-complete -c p4 -n __fish_p4_not_in_command -s q -d 'Quiet mode; suppress all informational message and report only warnings or errors.'
-complete -c p4 -n __fish_p4_not_in_command -s V -d 'Displays the version of the p4 application and exits.'
-complete -c p4 -n __fish_p4_not_in_command -s h -d 'Displays basic usage information and exits.'
+complete -c p4 -n __fish_p4_not_in_command -s b -x -d 'Number of arguments when using -x flag'
+complete -c p4 -n __fish_p4_not_in_command -s c -x -d 'Overrides P4CLIENT settings'
+complete -c p4 -n __fish_p4_not_in_command -s d -r -d 'Overrides PWD settings'
+complete -c p4 -n __fish_p4_not_in_command -s I -d 'Show process indicators'
+complete -c p4 -n __fish_p4_not_in_command -s G -d 'python dict in/output'
+complete -c p4 -n __fish_p4_not_in_command -s H -x -a '(__fish_print_hostnames)' -d 'Overrides P4HOST settings'
+complete -c p4 -n __fish_p4_not_in_command -s p -x -d 'Overrides P4PORT settings'
+complete -c p4 -n __fish_p4_not_in_command -s P -x -d 'Overrides P4PASSWD settings'
+complete -c p4 -n __fish_p4_not_in_command -s r -x -d 'Number of retry attempts'
+complete -c p4 -n __fish_p4_not_in_command -s s -d 'Prefix for each line'
+complete -c p4 -n __fish_p4_not_in_command -s u -x -a '(__fish_print_p4_users)' -d 'Overrides P4USER/USER/USERNAME settings'
+complete -c p4 -n __fish_p4_not_in_command -s x -r -d 'Read arguments from file'
+complete -c p4 -n __fish_p4_not_in_command -s C -x -a '(__fish_print_encodings)' -d 'Overrides P4CHARSET settings'
+complete -c p4 -n __fish_p4_not_in_command -s Q -x -a '(__fish_print_encodings)' -d 'Overrides P4COMMANDCHARSET settings'
+complete -c p4 -n __fish_p4_not_in_command -s L -x -d 'Feature reserved for system integrators'
+complete -c p4 -n __fish_p4_not_in_command -s z -x -d 'fstat output'
+complete -c p4 -n __fish_p4_not_in_command -s q -d 'Quiet mode'
+complete -c p4 -n __fish_p4_not_in_command -s V -d 'Display version'
+complete -c p4 -n __fish_p4_not_in_command -s h -d 'Display help'
#########################################################
### sub-commands
@@ -457,23 +457,23 @@ __fish_p4_register_command_option info -s s -d "Short output (removes informatio
# clean
__fish_p4_register_command_option clean -a '(__fish_print_p4_opened_files)'
-__fish_p4_register_command_option clean -s a -d "Added files: Find files in the workspace that have no corresponding files in the depot and delete them"
-__fish_p4_register_command_option clean -s d -d "Deleted files: Find those files in the depot that do not exist in your workspace and add them to the workspace"
-__fish_p4_register_command_option clean -s e -d "Edited files: Find files in the workspace that have been modified and restore them to the last file version that has synced from the depot"
-__fish_p4_register_command_option clean -s I -d "Do not perform any ignore checking; ignore any settings specified by P4IGNORE for added files"
-__fish_p4_register_command_option clean -s l -d "Display output in local file syntax with relative paths, similar to the workspace-centric view of p4 status"
-__fish_p4_register_command_option clean -s n -d "Preview the results of the operation without performing any action"
+__fish_p4_register_command_option clean -s a -d "Delete files not in depot"
+__fish_p4_register_command_option clean -s d -d "Restore deleted files"
+__fish_p4_register_command_option clean -s e -d "Restore edited files"
+__fish_p4_register_command_option clean -s I -d "Ignore P4IGNORE settings for added files"
+__fish_p4_register_command_option clean -s l -d "Display output in local file syntax with relative paths"
+__fish_p4_register_command_option clean -s n -d "Preview what would be done"
# client, workspace @TODO: -Fs (only in -f), -c (only in -S stream)
for a in client workspace
__fish_p4_register_command_option $a -x -a '(__fish_print_p4_workspaces)'
- __fish_p4_register_command_option $a -s f -d "Allows the last modification date, which is normally read-only, to be set"
- __fish_p4_register_command_option $a -s d -f -a '(__fish_print_p4_workspaces)' -d "Delete the specified client workspace whether or not the workspace is owned by the user"
+ __fish_p4_register_command_option $a -s f -d "Allows the last modification date to be set"
+ __fish_p4_register_command_option $a -s d -f -a '(__fish_print_p4_workspaces)' -d "Delete client workspace even if not owned by user"
# __fish_p4_register_command_option $a -a '-Fs' -d 'Deletes client with shelves (must follow -f)'
__fish_p4_register_command_option $a -s F -a s -d 'Deletes client with shelves (must follow -f)'
__fish_p4_register_command_option $a -s o -d "Write the client workspace spec to standard output"
__fish_p4_register_command_option $a -s i -d "Read the client workspace spec from standard input"
- __fish_p4_register_command_option $a -s c -x -a '(__fish_print_p4_workspace_changelists)' -d "When used with -S stream, displays the workspace spec that would have been created for a stream at the moment the change was submitted"
+ __fish_p4_register_command_option $a -s c -x -a '(__fish_print_p4_workspace_changelists)' -d "When used with -S stream, preview the workspace spec"
__fish_p4_register_command_option $a -s s -d "Switch workspace view"
__fish_p4_register_command_option $a -s t -x -d "Specify a client workspace Template"
__fish_p4_register_command_option $a -l serverid -x -d "Forcefully delete workspace that is bound to another server"
@@ -482,13 +482,13 @@ end
# clients, workspaces @TODO -U and others are mutually exclusive
for a in clients workspaces
- __fish_p4_register_command_option $a -s a -d "List all client workspaces, not just workspaces bound to this server"
- __fish_p4_register_command_option $a -s e -x -d "List only client workspaces matching filter (case-sensitive)"
- __fish_p4_register_command_option $a -s E -x -d "List only client workspaces matching filter (case-insensitive)"
- __fish_p4_register_command_option $a -s m -x -d "List only the first max client workspaces"
- __fish_p4_register_command_option $a -s s -x -d "List only client workspaces bound to the specified serverID. On an edge server, the -s option defaults to the edge server’s serverID"
+ __fish_p4_register_command_option $a -s a -d "List all client workspaces"
+ __fish_p4_register_command_option $a -s e -x -d "List client workspaces matching filter (case-sensitive)"
+ __fish_p4_register_command_option $a -s E -x -d "List client workspaces matching filter (case-insensitive)"
+ __fish_p4_register_command_option $a -s m -x -d "List the first max client workspaces"
+ __fish_p4_register_command_option $a -s s -x -d "List client workspaces bound to the specified serverID"
__fish_p4_register_command_option $a -s S -x -a '(__fish_print_p4_streams)' -d "List client workspaces associated with the specified stream"
- __fish_p4_register_command_option $a -s t -d "Display the time as well as the date of the last update to the workspace"
+ __fish_p4_register_command_option $a -s t -d "Display time and date last update to the workspace"
__fish_p4_register_command_option $a -s u -x -a '(__fish_print_p4_users)' -d "List only client workspaces owned by user"
__fish_p4_register_command_option $a -s U -d "List only client workspaces unloaded with p4 unload"
end
@@ -500,15 +500,15 @@ end
# sync @TODO --parallel has unique key-value pair syntax: --parallel=optq1=n,opt2=n,opt3=n,opt4=n
__fish_p4_register_command_option sync -s f -d "Force sync, overwrite all unopened files"
__fish_p4_register_command_option sync -s k -d "Keep existing workspace files, alias for p4 flush"
-__fish_p4_register_command_option sync -s L -d "perform the sync on a list of valid file arguments in full depot syntax with a valid revision number"
+__fish_p4_register_command_option sync -s L -d "Perform sync on a list of valid file arguments"
__fish_p4_register_command_option sync -s m -x -d "Sync only the first max files specified"
-__fish_p4_register_command_option sync -s n -d "Preview mode: Display the results of the sync without actually syncing"
-__fish_p4_register_command_option sync -s N -d "Preview mode: Display network traffic estimates, don't actually sync"
-__fish_p4_register_command_option sync -s p -d "Populate a client workspace, but do not update the have list"
+__fish_p4_register_command_option sync -s n -d "Display sync results without actually syncing"
+__fish_p4_register_command_option sync -s N -d "Display network traffic estimates without actually syncing"
+__fish_p4_register_command_option sync -s p -d "Populate a client workspace, but don't update the have list"
__fish_p4_register_command_option sync -l parallel -x -a '(__fish_print_p4_parallel_options)' -d "Specify options for parallel file transfer"
__fish_p4_register_command_option sync -s q -d "Quiet operation: suppress normal output messages"
-__fish_p4_register_command_option sync -s r -d "Reopen files that are mapped to new locations in the depot, in the new location"
-__fish_p4_register_command_option sync -s s -d "Safe sync: Compare the content in your client workspace against what was last synced"
+__fish_p4_register_command_option sync -s r -d "Reopen files mapped to new locations, in the new location"
+__fish_p4_register_command_option sync -s s -d "Compare client workspace against what was last synced"
# update @TODO
# where @TODO
@@ -534,7 +534,7 @@ __fish_p4_register_command_option add -s t -x -a '(__fish_print_p4_file_types)'
# edit
__fish_p4_register_command_option edit -s c -x -a '(__fish_print_p4_pending_changelists default)' -d "Changelist number"
-__fish_p4_register_command_option edit -s k -d "Keep existing workspace files; mark the file as open for edit even if the file is not in the client view"
+__fish_p4_register_command_option edit -s k -d "Keep existing workspace files; mark file as open for edit"
__fish_p4_register_command_option edit -s n -d "Preview operation, don't change files"
__fish_p4_register_command_option edit -s t -x -a '(__fish_print_p4_file_types)' -d "File type"
@@ -558,9 +558,9 @@ __fish_p4_register_command_option edit -s t -x -a '(__fish_print_p4_file_types)'
# change, changelist
for a in change changelist
__fish_p4_register_command_option $a -x -a '(__fish_print_p4_pending_changelists)'
- __fish_p4_register_command_option $a -s s -d "Allows jobs to be assigned arbitrary status values on submission of the changelist, rather than the default status of closed"
- __fish_p4_register_command_option $a -s f -d "Force operation (The -u and the -f options are mutually exclusive)"
- __fish_p4_register_command_option $a -s u -d "Update a submitted changelist (The -u and the -f options are mutually exclusive)"
+ __fish_p4_register_command_option $a -s s -d "Allows jobs to be assigned any status values on submission"
+ __fish_p4_register_command_option $a -s f -d "Force operation"
+ __fish_p4_register_command_option $a -s u -d "Update a submitted changelist"
__fish_p4_register_command_option $a -s O -x -a '(__fish_print_p4_pending_changelists)' -d "Changelist number"
__fish_p4_register_command_option $a -s d -x -a '(__fish_print_p4_pending_changelists)' -d "Delete a changelist"
__fish_p4_register_command_option $a -s o -d "Writes the changelist spec to standard output"
@@ -571,10 +571,10 @@ end
# changes, changelists
for a in changes changelists
- __fish_p4_register_command_option $a -s i -d "Include changelists that affected files that were integrated with the specified files"
+ __fish_p4_register_command_option $a -s i -d "Include changelists of integrated, affected files"
__fish_p4_register_command_option $a -s t -d "Display the time as well as the date of each change"
- __fish_p4_register_command_option $a -s l -d "List long output, with the full text of each changelist description"
- __fish_p4_register_command_option $a -s L -d "List long output, with the full text of each changelist description truncated at 250 characters"
+ __fish_p4_register_command_option $a -s l -d "List long output, with full changelist"
+ __fish_p4_register_command_option $a -s L -d "List long output, with full changelist (truncated)"
__fish_p4_register_command_option $a -s f -d "View restricted changes (requires admin permission)"
__fish_p4_register_command_option $a -c c -x -a '(__fish_print_p4_workspace_changelists)' -d "List only changes made from the named client workspace"
__fish_p4_register_command_option $a -c m -x -d "List only the highest numbered max changes"
@@ -585,7 +585,7 @@ end
# describe @TODO: -dc, -du
__fish_p4_register_command_option describe -x -a '(__fish_print_p4_workspace_changelists)'
-__fish_p4_register_command_option describe -s f -d 'Force the display of descriptions for restricted changelists'
+__fish_p4_register_command_option describe -s f -d 'Force display of descriptions for restricted changelists'
__fish_p4_register_command_option describe -s O -d 'Specify the original changelist number'
__fish_p4_register_command_option describe -s s -d 'Short output without diffs'
__fish_p4_register_command_option describe -s S -d 'Display shelved files with diffs'
@@ -596,9 +596,9 @@ __fish_p4_register_command_option describe -s d -x -a '(__fish_print_p4_diff_opt
# opened
__fish_p4_register_command_option opened -s a -d "List opened files in all client workspaces"
__fish_p4_register_command_option opened -s c -x -a '(__fish_print_p4_pending_changelists default)' -d "List the files in a pending changelist"
-__fish_p4_register_command_option opened -s C -x -a '(__fish_print_p4_workspaces)' -d "List only files that are open in the specified client workspace"
+__fish_p4_register_command_option opened -s C -x -a '(__fish_print_p4_workspaces)' -d "List files that are open in the specified client workspace"
__fish_p4_register_command_option opened -s m -x -d "List only the first max open files"
-__fish_p4_register_command_option opened -s s -d "Short output; do not output the revision number or file type"
+__fish_p4_register_command_option opened -s s -d "Short output; don't output the revision number or file type"
__fish_p4_register_command_option opened -s u -x -a '(__fish_print_p4_users)' -d "List only those files that were opened by user"
__fish_p4_register_command_option opened -s x -d "List all files that have the +l filetype over all servers"
@@ -611,31 +611,31 @@ __fish_p4_register_command_option reopen -s t -x -a '(__fish_print_p4_file_types
# shelve
__fish_p4_register_command_option shelve -a '(__fish_print_p4_opened_files)'
-__fish_p4_register_command_option shelve -s a -x -a 'submitunchanged leaveunchanged' -d "Options: 'submitunchanged' shelves all files, 'leaveunchanged' shelves only changed files"
+__fish_p4_register_command_option shelve -s a -x -a 'submitunchanged leaveunchanged' -d "Choose which files to shelve"
__fish_p4_register_command_option shelve -s c -x -a '(__fish_print_p4_pending_changelists)' -d "Changelist number"
__fish_p4_register_command_option shelve -s d -d 'Discard the shelved files'
__fish_p4_register_command_option shelve -s f -d 'Force overwrite of shelved files'
__fish_p4_register_command_option shelve -s i -d 'Read a changelist description from standard input'
-__fish_p4_register_command_option shelve -s p -d "Promote a shelved change from an Edge server to a Commit server"
-__fish_p4_register_command_option shelve -s r -d 'Replace all shelved files in the changelist with the files that are opened in your workspace'
+__fish_p4_register_command_option shelve -s p -d "Promote shelved change from Edge server to Commit server"
+__fish_p4_register_command_option shelve -s r -d 'Replace shelved files in changelist with opened files'
# submit @TODO: parallel syntax
__fish_p4_register_command_option submit -a '(__fish_print_p4_opened_files)'
__fish_p4_register_command_option submit -s c -x -a '(__fish_print_p4_pending_changelists)' -d "Submit specific changelist"
-__fish_p4_register_command_option submit -s d -x -d "Immediately submit the changelist with supplied description and bypass the interactive form"
+__fish_p4_register_command_option submit -s d -x -d "Submit changelist and bypass interactive form"
__fish_p4_register_command_option submit -s e -x -a '(__fish_print_p4_shelved_changelists)' -d "Submit specific shelved changelist"
__fish_p4_register_command_option submit -s f -x -a '(__fish_print_p4_submit_options)' -d "Override the SubmitOptions setting in the p4 client form"
__fish_p4_register_command_option submit -s i -d "Read a changelist specification from standard input"
__fish_p4_register_command_option submit -l noretransfer -x -a '(__fish_print_p4_noretransfer_options)'
__fish_p4_register_command_option submit -l parallel -x -a '(__fish_print_p4_parallel_options "submit")' -d "Specify options for parallel file transfer"
-__fish_p4_register_command_option submit -s r -d "Reopen files for edit in the default changelist after submission"
-__fish_p4_register_command_option submit -s s -d "Allows jobs to be assigned arbitrary status values on submission of the changelist"
+__fish_p4_register_command_option submit -s r -d "Reopen files for edit in default changelist"
+__fish_p4_register_command_option submit -s s -d "Allow jobs to be assigned arbitrary status values"
# unshelve @TODO: Streams
__fish_p4_register_command_option unshelve -s b -x -a '(__fish_print_p4_branches)' -d "Specifies a branch spec for unshelving from"
__fish_p4_register_command_option unshelve -s c -x -a '(__fish_print_p4_pending_changelists)' -d "Changelist number into which to unshelve"
__fish_p4_register_command_option unshelve -s f -d 'Force the overwriting of writable (but unopened) files'
-__fish_p4_register_command_option unshelve -s n -d "Preview result of unshelve operation without restoring files to workspace"
+__fish_p4_register_command_option unshelve -s n -d "Preview result of unshelve operation"
__fish_p4_register_command_option unshelve -s P -x -a '(__fish_print_p4_streams)' -d "Unshelve to the specified parent stream"
__fish_p4_register_command_option unshelve -s s -x -a '(__fish_print_p4_shelved_changelists)' -d "Specify the source shelved pending changelist number"
__fish_p4_register_command_option unshelve -s S -x -a '(__fish_print_p4_streams)' -d "Specifies a stream spec for unshelving from"
@@ -661,19 +661,19 @@ __fish_p4_register_command_option unshelve -s S -x -a '(__fish_print_p4_streams)
# integ, integrate @TODO -s fromFile is based on -b branchname, try resolving
for a in integ integrate
- __fish_p4_register_command_option $a -s b -x -a '(__fish_print_p4_branches)' -d "Integrate the files using the sourceFile/targetFile mappings included in the branch view of branchname. If the toFiles argument is included, include only those target files in the branch view that match the pattern specified by toFiles"
- __fish_p4_register_command_option $a -s n -d "Display the integrations this command would perform without actually performing them"
- __fish_p4_register_command_option $a -s v -d "Open files for branching without copying toFiles into the client workspace"
- __fish_p4_register_command_option $a -s c -x -a '(__fish_print_p4_pending_changelists)' -d "Open the toFiles for branch, integrate, or delete in the specified pending changelist"
+ __fish_p4_register_command_option $a -s b -x -a '(__fish_print_p4_branches)' -d "Integrate files using sourceFile/targetFile mappings"
+ __fish_p4_register_command_option $a -s n -d "Preview the integrations"
+ __fish_p4_register_command_option $a -s v -d "Open files for branching without copying toFiles"
+ __fish_p4_register_command_option $a -s c -x -a '(__fish_print_p4_pending_changelists)' -d "Open the toFiles in the specified pending changelist"
__fish_p4_register_command_option $a -s q -d "Quiet mode"
- __fish_p4_register_command_option $a -a -Di -d "f the source file has been deleted and re-added, revisions that precede the deletion will be considered to be part of the same source file"
- __fish_p4_register_command_option $a -s f -d "Force the integration on all revisions of fromFile and toFile, even if some revisions have been integrated in the past"
+ __fish_p4_register_command_option $a -a -Di -d "If file is deleted and re-added, consider it the same file"
+ __fish_p4_register_command_option $a -s f -d "Force integration on all revisions of fromFile and toFile"
__fish_p4_register_command_option $a -s h -d "Use the have revision"
__fish_p4_register_command_option $a -s O -x -a '(__fish_print_p4_integrate_output_options)' -d "Specify output options"
__fish_p4_register_command_option $a -s m -x -d "Limit the command to integrating only the first N files"
__fish_p4_register_command_option $a -s R -x -a '(__fish_print_p4_integrate_resolve_options)' -d "Specify resolve options"
__fish_p4_register_command_option $a -s s -r -d "Source file and revision"
- __fish_p4_register_command_option $a -s r -r -d "Reverse the mappings in the branch view, integrating from the target files to the source files"
+ __fish_p4_register_command_option $a -s r -r -d "Reverse the mappings in the branch view"
__fish_p4_register_command_option $a -s S -x -a '(__fish_print_p4_streams)' -d "Source stream"
__fish_p4_register_command_option $a -s P -x -a '(__fish_print_p4_streams)' -d "Custom parent stream"
end
@@ -691,15 +691,15 @@ end
# resolve
__fish_p4_register_command_option resolve -s a -x -a '(__fish_print_p4_resolve_options a)' -d "Resolve automatically"
-__fish_p4_register_command_option resolve -s A -x -a '(__fish_print_p4_resolve_options A)' -d "Constrain the type of resolve to branching, deletion, file type change, or move/rename"
-__fish_p4_register_command_option resolve -s d -x -a '(__fish_print_p4_resolve_options d)' -d "Ignore specified differences in whitespace or line-ending convention"
-__fish_p4_register_command_option resolve -s f -d "Allow already resolved, but not yet submitted, files to be resolved again"
-__fish_p4_register_command_option resolve -s n -d "List the files that need resolving without actually performing the resolve"
-__fish_p4_register_command_option resolve -s N -d "Preview the operation with additional information about any non-content resolve actions that are scheduled"
-__fish_p4_register_command_option resolve -s o -d "Output the base file name and revision to be used during the resolve"
+__fish_p4_register_command_option resolve -s A -x -a '(__fish_print_p4_resolve_options A)' -d "Constrain the type of resolve"
+__fish_p4_register_command_option resolve -s d -x -a '(__fish_print_p4_resolve_options d)' -d "Ignore whitespace/line-ending convention"
+__fish_p4_register_command_option resolve -s f -d "Re-resolve already resolved files if they're not submitted"
+__fish_p4_register_command_option resolve -s n -d "List files that need resolving"
+__fish_p4_register_command_option resolve -s N -d "Preview based on scheduled non-content resolve actions"
+__fish_p4_register_command_option resolve -s o -d "Show base file name and revision on resolve"
__fish_p4_register_command_option resolve -s t -d "Force a three-way merge, even on binary (non-text) files"
-__fish_p4_register_command_option resolve -s v -d "Include conflict markers in the file for all changes between yours and base, and between theirs and base"
-__fish_p4_register_command_option resolve -s c -x -a '(__fish_print_p4_workspace_changelists)' -d "Limit the scope of the resolve operation to the files opened in the specified changelist number"
+__fish_p4_register_command_option resolve -s v -d "Include conflict markers in the file"
+__fish_p4_register_command_option resolve -s c -x -a '(__fish_print_p4_workspace_changelists)' -d "Limit scope of resolve based on specified changelist number"
# resolved @TODO
# stream @TODO
@@ -774,5 +774,5 @@ __fish_p4_register_command_option resolve -s c -x -a '(__fish_print_p4_workspace
# set
__fish_p4_register_command_option set -x -a '(__fish_print_p4_env_vars)'
__fish_p4_register_command_option set -s q -d "Reduce the output"
-__fish_p4_register_command_option set -s s -d "Set the value of the registry variable for the local machine"
-__fish_p4_register_command_option set -s S -x -d "Set the value of the registry variables as used by the service"
+__fish_p4_register_command_option set -s s -d "Set value of the registry variable for the local machine"
+__fish_p4_register_command_option set -s S -x -d "Set value of the registry variables as used by the service"
From 48652eebc18b97cda83136df28ab396963eeaf8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Mon, 17 Jan 2022 19:59:06 +0100
Subject: [PATCH 030/262] completion: add completions for topgrade
---
share/completions/topgrade.fish | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 share/completions/topgrade.fish
diff --git a/share/completions/topgrade.fish b/share/completions/topgrade.fish
new file mode 100644
index 000000000..0c1f86796
--- /dev/null
+++ b/share/completions/topgrade.fish
@@ -0,0 +1,22 @@
+# Flags
+complete -f -c topgrade -s c -l cleanup -d "Cleanup temporary or old files"
+complete -f -c topgrade -l disable-predefined-git-repos -d "Don't pull the predefined git repos"
+complete -f -c topgrade -s n -l dry-run -d "Print what would be done"
+complete -f -c topgrade -l edit-config -d "Edit the configuration file"
+complete -f -c topgrade -s h -l help -d "Prints help information"
+complete -f -c topgrade -s k -l keep -d "Prompt for a key before exiting"
+complete -f -c topgrade -l no-retry -d "Do not ask to retry failed steps"
+complete -f -c topgrade -s t -l tmux -d "Run inside tmux"
+complete -f -c topgrade -l config-reference -d "Show config reference"
+complete -f -c topgrade -l show-skipped -d "Show the reason for skipped steps"
+complete -f -c topgrade -s V -l version -d "Prints version information"
+complete -f -c topgrade -s v -l verbose -d "Output logs"
+
+# Options
+complete -f -c topgrade -l config -r -d "Alternative configuration file"
+complete -f -c topgrade -l disable -r -a "asdf atom brew_cask brew_formula bin cargo chezmoi chocolatey choosenim composer custom_commands deno dotnet emacs firmware flatpak flutter fossil gcloud gem git_repos haxelib gnome_shell_extensions home_manager jetpack krew macports mas micro myrepos nix node opam pacdiff pacstall pearl pipx pip3 pkg pkgin pnpm powershell raco remotes restarts rtcl rustup scoop sdkman silnite sheldon shell snap spicetify stack system tldr tlmgr tmux vagrant vcpkg vim winget wsl yadm" -d "Do not perform upgrades for the given steps"
+
+complete -f -c topgrade -l only -r -a "asdf atom brew_cask brew_formula bin cargo chezmoi chocolatey choosenim composer custom_commands deno dotnet emacs firmware flatpak flutter fossil gcloud gem git_repos haxelib gnome_shell_extensions home_manager jetpack krew macports mas micro myrepos nix node opam pacdiff pacstall pearl pipx pip3 pkg pkgin pnpm powershell raco remotes restarts rtcl rustup scoop sdkman silnite sheldon shell snap spicetify stack system tldr tlmgr tmux vagrant vcpkg vim winget wsl yadm" -d "Perform only the specified steps (experimental)"
+
+complete -f -c topgrade -l remote-host-limit -r -d "A regular expression for restricting remote host execution"
+complete -f -c topgrade -s y -l yes -d "Say yes to package manager's prompt"
From a22779e807617ab555144f36af78b627d89a25bd Mon Sep 17 00:00:00 2001
From: David Adam
Date: Tue, 18 Jan 2022 23:34:36 +0800
Subject: [PATCH 031/262] CHANGELOG: work on 3.4.0
---
CHANGELOG.rst | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 50b000bd6..44a3d56af 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,7 +2,7 @@ fish 3.4.0 (released ???)
=========================
..
- Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8615 8623
+ Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650
Notable improvements and fixes
@@ -160,6 +160,7 @@ Completions
- ``roswell`` (:issue:`8330`)
- ``sbcl`` (:issue:`8330`)
- ``starship`` (:issue:`8520`)
+ - ``topgrade`` (:issue:`8651`)
- ``wine``, ``wineboot`` and ``winemaker`` (:issue:`8411`)
- Windows Subsystem for Linux (WSL)'s ``wslpath`` (:issue:`8364`)
- Windows' ``color`` (:issue:`8483`)
From 6315cf67ecd92d95cf66f012b71bf5e615be7d2f Mon Sep 17 00:00:00 2001
From: Pablo Santiago Blum de Aguiar
Date: Thu, 13 Jan 2022 22:12:13 +0100
Subject: [PATCH 032/262] Assert `and` and `or` create no new scope
---
tests/checks/set.fish | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/tests/checks/set.fish b/tests/checks/set.fish
index 7849800b5..31f82b3d5 100644
--- a/tests/checks/set.fish
+++ b/tests/checks/set.fish
@@ -635,6 +635,34 @@ end
#CHECK: $var6[1]: |ghi|
#CHECK: $var6[2]: |jkl|
+# `and` creates no new scope on its own
+true; and set -l var7a 89 179
+set -q var7a
+echo $status
+#CHECK: 0
+
+# `begin` of an `and` creates a new scope
+true; and begin
+ set -l var7b 359 719
+end
+set -q var7b
+echo $status
+#CHECK: 1
+
+# `or` creates no new scope on its own
+false; or set -l var8a 1439 2879
+set -q var8a
+echo $status
+#CHECK: 0
+
+# `begin` of an `or` creates a new scope
+false; or begin
+ set -l var8b 9091 9901
+end
+set -q var8b
+echo $status
+#CHECK: 1
+
# Exporting works
set -x TESTVAR0
set -x TESTVAR1 a
From f612ade5d9a30d890acf106d6b70b80df6eca9e0 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Tue, 18 Jan 2022 18:09:29 +0100
Subject: [PATCH 033/262] CHANGELOG for 3.4.0
---
CHANGELOG.rst | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 44a3d56af..ce428d51a 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,7 +2,7 @@ fish 3.4.0 (released ???)
=========================
..
- Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650
+ Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650 8643
Notable improvements and fixes
@@ -49,6 +49,10 @@ Deprecations and removed features
# with both ampersand-nobg-in-token and qmark-noglob, this argument has no special characters anymore
> open https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtu.be
+ As a reminder, feature flags can be set on startup with ``fish --features ampersand-nobg-in-token,qmark-noglob`` or with a universal variable called ``fish_features``::
+
+ > set -Ua fish_features ampersand-nobg-in-token
+
- ``$status`` is now forbidden as a command, to prevent a surprisingly common error among new users: Running ``if $status`` (:issue:`8171`). This applies *only* to ``$status``, other variables are still allowed.
- ``set --query`` now returns an exit status of 255 if given no variable names. This means ``if set -q $foo`` will not enter the if-block if ``$foo`` is empty or unset. To restore the previous behavior, use ``if not set -q foo; or set -q $foo`` - but this is unlikely to be desireable (:issue:`8214`).
- ``_`` is now a reserved keyword (:issue:`8342`).
@@ -84,7 +88,7 @@ Scripting improvements
- ``set --query`` can now query whether a variable is a path variable via ``--path`` or ``--unpath`` (:issue:`8494`).
- Tilde characters (``~``) produced by custom completions are no longer escaped when applied to the command line, making it easier to use the output of a recursive ``complete -C`` in completion scripts (:issue:`4570`).
- ``set --show`` reports when a variable is read-only (:issue:`8179`).
-- Erasing ``$fish_emoji_width`` will reset fish to the default emoji width (:issue:`8274`).
+- Erasing ``$fish_emoji_width`` will reset fish to the default guessed emoji width (:issue:`8274`).
- The ``la`` function no longer lists entries for "." and "..", matching other systems defaults (:issue:`8519`).
- ``abbr -q`` returns the correct exit status when given multiple abbreviation names as arguments (:issue:`8431`).
- ``command -v`` returns an exit status of 127 instead of 1 if no command was found (:issue:`8547`).
@@ -184,7 +188,7 @@ Improved terminal support
Other improvements
------------------
-- Fish's test suite now uses ``ctest``, and has become much faster to run. It is now also possible to run only specific tests. (:issue:`7851`)
+- Fish's test suite now uses ``ctest``, and has become much faster to run. It is now also possible to run only specific tests with targets named ``test_$filename`` - ``make test_set.fish`` only runs the set.fish test. (:issue:`7851`)
- The HTML version of the documentation now includes copy buttons for code examples (:issue:`8218`).
- The HTML version of the documentation and the web-based configuration tool now pick more modern system fonts instead of falling back to Arial and something like Courier New most of the time (:issue:`8632`).
- The Debian & Ubuntu package linked from fishshell.com is now a single package, rather than split into ``fish`` and ``fish-common`` (:issue:`7845`).
@@ -195,7 +199,7 @@ For distributors
- The minimum version of CMake required to build fish is now 3.5.0.
- The CMake installation supports absolute paths for ``CMAKE_INSTALL_DATADIR`` (:issue:`8150`).
- Building using NetBSD curses works on any platform (:issue:`8087`).
-- The build system does not choose a different linker (:issue:`8152`).
+- The build system now uses the default linker instead of forcing use of the gold or lld linker (:issue:`8152`).
--------------
From 89e85e05e0e31f2bc0d31db040d3fd85203d1ab6 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Tue, 18 Jan 2022 19:20:27 +0100
Subject: [PATCH 034/262] completions/git: Add add --chmod option
Fixes #8652.
---
share/completions/git.fish | 1 +
1 file changed, 1 insertion(+)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index 2495cb16e..7b950f18a 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -980,6 +980,7 @@ complete -c git -n '__fish_git_using_command add' -s u -l update -d 'Only match
complete -c git -n '__fish_git_using_command add' -s A -l all -d 'Match files both in working tree and index'
complete -c git -n '__fish_git_using_command add' -s N -l intent-to-add -d 'Record only the fact that the path will be added later'
complete -c git -n '__fish_git_using_command add' -l refresh -d "Don't add the file(s), but only refresh their stat"
+complete -c git -n '__fish_git_using_command add' -l chmod -xa "-x\t'Track file as non-executable' +x\t'Track file as executable'"
complete -c git -n '__fish_git_using_command add' -l ignore-errors -d 'Ignore errors'
complete -c git -n '__fish_git_using_command add' -l ignore-missing -d 'Check if any of the given files would be ignored'
# Renames also show up as untracked + deleted, and to get git to show it as a rename _both_ need to be added.
From 1c21e26d08f636410ddca44c896083b1b203318f Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 16 Jan 2022 13:23:09 +0100
Subject: [PATCH 035/262] docs: load custom lexer with plain Python import
The next commit will load another of our Python extensions from a
separate file. That extension will contain more than just a Pygments
lexer, so instead of using a function that can only load a lexer,
just import from the module to keep things consistent.
---
doc_src/conf.py | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/doc_src/conf.py b/doc_src/conf.py
index def07e916..22708e950 100644
--- a/doc_src/conf.py
+++ b/doc_src/conf.py
@@ -8,8 +8,8 @@
import glob
import os.path
-import pygments
import subprocess
+import sys
from sphinx.errors import SphinxWarning
from docutils import nodes
@@ -41,10 +41,10 @@ def setup(app):
from sphinx.highlighting import lexers
this_dir = os.path.dirname(os.path.realpath(__file__))
- fish_indent_lexer = pygments.lexers.load_lexer_from_file(
- os.path.join(this_dir, "fish_indent_lexer.py"), lexername="FishIndentLexer"
- )
- lexers["fish-docs-samples"] = fish_indent_lexer
+ sys.path.insert(0, this_dir)
+ from fish_indent_lexer import FishIndentLexer
+
+ lexers["fish-docs-samples"] = FishIndentLexer()
app.add_config_value("issue_url", default=None, rebuild="html")
app.add_role("issue", issue_role)
@@ -53,17 +53,6 @@ def setup(app):
# The default language to assume
highlight_language = "fish-docs-samples"
-# -- Path setup --------------------------------------------------------------
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-
-
# -- Project information -----------------------------------------------------
project = "fish-shell"
From c0d1e41313244063112d48b67794cba200be8ba3 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Sun, 9 Jan 2022 15:09:46 +0100
Subject: [PATCH 036/262] docs synopsis: add HTML highlighing and automate
manpage markup
Recent synopsis changes move from literal code blocks to
[RST line blocks]. This does not translate well to HTML: it's not
rendered in monospace, so aligment is lost. Additionally, we don't
get syntax highlighting in HTML, which adds differences to our code
samples which are highlighted.
We hard-wrap synopsis lines (like code blocks). To align continuation
lines in manpages we need [backslashes in weird places]. Combined with
the **, *, and `` markup, it's a bit hard to get the alignment right.
Fix these by moving synopsis sources back to code blocks and compute
HTML syntax highlighting and manpage markup with a custom Sphinx
extension.
The new Pygments lexer can tokenize a synopsis and assign the various
highlighting roles, which closely matches fish's syntax highlighing:
- command/keyword (dark blue)
- parameter (light blue)
- operator like and/or/not/&&/|| (cyan)
- grammar metacharacter (black)
For manpage output, we don't project the fish syntax highlighting
but follow the markup convention in GNU's man(1):
bold text type exactly as shown.
italic text replace with appropriate argument.
To make it easy to separate these two automatically, formalize that
(italic) placeholders must be uppercase; while all lowercase text is
interpreted literally (so rendered bold).
This makes manpages more consistent, see string-join(1) and and(1).
Implementation notes:
Since we want manpage formatting but Sphinx's Pygments highlighing
plugin does not support manpage output, add our custom "synopsis"
directive. This directive parses differently when manpage output is
specified. This means that the HTML and manpage build processes must
not share a cache, because the parsed doctrees are cached. Work around
this by using separate cache locations for build targets "sphinx-docs"
(which creates HTML) and "sphinx-manpages". A better solution would
be to only override Sphinx's ManualPageBuilder but that would take a
bit more code (ideally we could override ManualPageWriter but Sphinx
4.3.2 doesn't really support that).
---
Alternative solution: stick with line blocks but use roles like
:command: or :option: (or custom ones). While this would make it
possible to produce HTML that is consistent with code blocks (by adding
a bit of CSS), the source would look uglier and is harder to maintain.
(Let's say we want to add custom formatting to the [|] metacharacters
in HTML. This is much easier with the proposed patch.)
---
[RST line blocks]: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#line-blocks
[backslashes in weird places]: https://github.com/fish-shell/fish-shell/pull/8626#discussion_r782837750
---
cmake/Docs.cmake | 5 +-
doc_src/cmds/_.rst | 4 +-
doc_src/cmds/abbr.rst | 14 +-
doc_src/cmds/alias.rst | 8 +-
doc_src/cmds/and.rst | 4 +-
doc_src/cmds/argparse.rst | 4 +-
doc_src/cmds/begin.rst | 4 +-
doc_src/cmds/bg.rst | 4 +-
doc_src/cmds/bind.rst | 14 +-
doc_src/cmds/block.rst | 4 +-
doc_src/cmds/break.rst | 12 +-
doc_src/cmds/breakpoint.rst | 4 +-
doc_src/cmds/builtin.rst | 6 +-
doc_src/cmds/case.rst | 10 +-
doc_src/cmds/cd.rst | 4 +-
doc_src/cmds/cdh.rst | 4 +-
doc_src/cmds/command.rst | 4 +-
doc_src/cmds/commandline.rst | 4 +-
doc_src/cmds/complete.rst | 6 +-
doc_src/cmds/contains.rst | 4 +-
doc_src/cmds/continue.rst | 4 +-
doc_src/cmds/count.rst | 8 +-
doc_src/cmds/dirh.rst | 4 +-
doc_src/cmds/dirs.rst | 4 +-
doc_src/cmds/disown.rst | 4 +-
doc_src/cmds/echo.rst | 4 +-
doc_src/cmds/else.rst | 4 +-
doc_src/cmds/emit.rst | 4 +-
doc_src/cmds/end.rst | 20 +--
doc_src/cmds/eval.rst | 4 +-
doc_src/cmds/exec.rst | 4 +-
doc_src/cmds/exit.rst | 4 +-
doc_src/cmds/false.rst | 4 +-
doc_src/cmds/fg.rst | 4 +-
doc_src/cmds/fish.rst | 6 +-
doc_src/cmds/fish_add_path.rst | 6 +-
doc_src/cmds/fish_breakpoint_prompt.rst | 5 +-
doc_src/cmds/fish_command_not_found.rst | 8 +-
doc_src/cmds/fish_config.rst | 8 +-
doc_src/cmds/fish_git_prompt.rst | 11 +-
doc_src/cmds/fish_greeting.rst | 5 +-
doc_src/cmds/fish_hg_prompt.rst | 5 +-
doc_src/cmds/fish_indent.rst | 4 +-
doc_src/cmds/fish_is_root_user.rst | 4 +-
doc_src/cmds/fish_key_reader.rst | 4 +-
doc_src/cmds/fish_mode_prompt.rst | 5 +-
doc_src/cmds/fish_opt.rst | 7 +-
doc_src/cmds/fish_prompt.rst | 5 +-
doc_src/cmds/fish_status_to_signal.rst | 5 +-
doc_src/cmds/fish_svn_prompt.rst | 5 +-
doc_src/cmds/fish_title.rst | 5 +-
doc_src/cmds/fish_update_completions.rst | 4 +-
doc_src/cmds/fish_vcs_prompt.rst | 5 +-
doc_src/cmds/for.rst | 4 +-
doc_src/cmds/funced.rst | 4 +-
doc_src/cmds/funcsave.rst | 6 +-
doc_src/cmds/function.rst | 4 +-
doc_src/cmds/functions.rst | 12 +-
doc_src/cmds/help.rst | 4 +-
doc_src/cmds/history.rst | 20 +--
doc_src/cmds/if.rst | 10 +-
doc_src/cmds/isatty.rst | 4 +-
doc_src/cmds/jobs.rst | 4 +-
doc_src/cmds/math.rst | 4 +-
doc_src/cmds/nextd.rst | 4 +-
doc_src/cmds/not.rst | 4 +-
doc_src/cmds/open.rst | 4 +-
doc_src/cmds/or.rst | 4 +-
doc_src/cmds/popd.rst | 4 +-
doc_src/cmds/prevd.rst | 4 +-
doc_src/cmds/printf.rst | 4 +-
doc_src/cmds/prompt_hostname.rst | 4 +-
doc_src/cmds/prompt_login.rst | 4 +-
doc_src/cmds/prompt_pwd.rst | 4 +-
doc_src/cmds/psub.rst | 4 +-
doc_src/cmds/pushd.rst | 4 +-
doc_src/cmds/pwd.rst | 6 +-
doc_src/cmds/random.rst | 12 +-
doc_src/cmds/read.rst | 4 +-
doc_src/cmds/realpath.rst | 4 +-
doc_src/cmds/return.rst | 4 +-
doc_src/cmds/set.rst | 16 ++-
doc_src/cmds/set_color.rst | 4 +-
doc_src/cmds/source.rst | 6 +-
doc_src/cmds/status.rst | 42 +++---
doc_src/cmds/string-collect.rst | 4 +-
doc_src/cmds/string-escape.rst | 6 +-
doc_src/cmds/string-join.rst | 6 +-
doc_src/cmds/string-length.rst | 4 +-
doc_src/cmds/string-lower.rst | 4 +-
doc_src/cmds/string-match.rst | 8 +-
doc_src/cmds/string-pad.rst | 6 +-
doc_src/cmds/string-repeat.rst | 6 +-
doc_src/cmds/string-replace.rst | 6 +-
doc_src/cmds/string-split.rst | 10 +-
doc_src/cmds/string-sub.rst | 6 +-
doc_src/cmds/string-trim.rst | 6 +-
doc_src/cmds/string-upper.rst | 4 +-
doc_src/cmds/string.rst | 52 ++++----
doc_src/cmds/suspend.rst | 4 +-
doc_src/cmds/switch.rst | 4 +-
doc_src/cmds/test.rst | 6 +-
doc_src/cmds/time.rst | 4 +-
doc_src/cmds/trap.rst | 4 +-
doc_src/cmds/true.rst | 4 +-
doc_src/cmds/type.rst | 4 +-
doc_src/cmds/ulimit.rst | 4 +-
doc_src/cmds/umask.rst | 4 +-
doc_src/cmds/vared.rst | 4 +-
doc_src/cmds/wait.rst | 4 +-
doc_src/cmds/while.rst | 4 +-
doc_src/conf.py | 5 +-
doc_src/fish_synopsis.py | 158 +++++++++++++++++++++++
113 files changed, 631 insertions(+), 238 deletions(-)
create mode 100644 doc_src/fish_synopsis.py
diff --git a/cmake/Docs.cmake b/cmake/Docs.cmake
index e5c81c852..27e94be22 100644
--- a/cmake/Docs.cmake
+++ b/cmake/Docs.cmake
@@ -9,7 +9,6 @@ include(FeatureSummary)
set(SPHINX_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/doc_src")
set(SPHINX_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/user_doc")
set(SPHINX_BUILD_DIR "${SPHINX_ROOT_DIR}/build")
-set(SPHINX_CACHE_DIR "${SPHINX_ROOT_DIR}/doctrees")
set(SPHINX_HTML_DIR "${SPHINX_ROOT_DIR}/html")
set(SPHINX_MANPAGE_DIR "${SPHINX_ROOT_DIR}/man")
@@ -22,7 +21,7 @@ add_custom_target(sphinx-docs
-j auto
-q -b html
-c "${SPHINX_SRC_DIR}"
- -d "${SPHINX_CACHE_DIR}"
+ -d "${SPHINX_ROOT_DIR}/.doctrees-html"
"${SPHINX_SRC_DIR}"
"${SPHINX_HTML_DIR}"
DEPENDS ${SPHINX_SRC_DIR}/fish_indent_lexer.py fish_indent
@@ -35,7 +34,7 @@ add_custom_target(sphinx-manpages
-j auto
-q -b man
-c "${SPHINX_SRC_DIR}"
- -d "${SPHINX_CACHE_DIR}"
+ -d "${SPHINX_ROOT_DIR}/.doctrees-man"
"${SPHINX_SRC_DIR}"
# TODO: This only works if we only have section 1 manpages.
"${SPHINX_MANPAGE_DIR}/man1"
diff --git a/doc_src/cmds/_.rst b/doc_src/cmds/_.rst
index 1be26a12c..a8d11e8b8 100644
--- a/doc_src/cmds/_.rst
+++ b/doc_src/cmds/_.rst
@@ -6,7 +6,9 @@ _ - call fish's translations
Synopsis
--------
-``_`` *STRING*
+.. synopsis::
+
+ _ STRING
Description
-----------
diff --git a/doc_src/cmds/abbr.rst b/doc_src/cmds/abbr.rst
index ea4e9e0a6..544f41809 100644
--- a/doc_src/cmds/abbr.rst
+++ b/doc_src/cmds/abbr.rst
@@ -6,12 +6,14 @@ abbr - manage fish abbreviations
Synopsis
--------
-| ``abbr`` --add [*SCOPE*] *WORD* *EXPANSION*
-| ``abbr`` --erase *WORD* ...
-| ``abbr`` --rename [*SCOPE*] *OLD_WORD* *NEW_WORD*
-| ``abbr`` --show
-| ``abbr`` --list
-| ``abbr`` --query *WORD* ...
+.. synopsis::
+
+ abbr --add [SCOPE] WORD EXPANSION
+ abbr --erase WORD ...
+ abbr --rename [SCOPE] OLD_WORD NEW_WORD
+ abbr --show
+ abbr --list
+ abbr --query WORD ...
Description
-----------
diff --git a/doc_src/cmds/alias.rst b/doc_src/cmds/alias.rst
index 576e45585..29d5c239a 100644
--- a/doc_src/cmds/alias.rst
+++ b/doc_src/cmds/alias.rst
@@ -6,9 +6,11 @@ alias - create a function
Synopsis
--------
-| ``alias``
-| ``alias`` [*OPTIONS*] *NAME* *DEFINITION*
-| ``alias`` [*OPTIONS*] *NAME*=*DEFINITION*
+.. synopsis::
+
+ alias
+ alias [OPTIONS] NAME DEFINITION
+ alias [OPTIONS] NAME=DEFINITION
Description
diff --git a/doc_src/cmds/and.rst b/doc_src/cmds/and.rst
index 6e5956ca1..f43a45bdd 100644
--- a/doc_src/cmds/and.rst
+++ b/doc_src/cmds/and.rst
@@ -6,7 +6,9 @@ and - conditionally execute a command
Synopsis
--------
-PREVIOUS; **and** *COMMAND*
+.. synopsis::
+
+ PREVIOUS; and COMMAND
Description
-----------
diff --git a/doc_src/cmds/argparse.rst b/doc_src/cmds/argparse.rst
index bd87f247b..29216c034 100644
--- a/doc_src/cmds/argparse.rst
+++ b/doc_src/cmds/argparse.rst
@@ -6,7 +6,9 @@ argparse - parse options passed to a fish script or function
Synopsis
--------
-``argparse`` [*OPTIONS*] *OPTION_SPEC* ... -- [*ARG* ...]
+.. synopsis::
+
+ argparse [OPTIONS] OPTION_SPEC ... -- [ARG ...]
Description
diff --git a/doc_src/cmds/begin.rst b/doc_src/cmds/begin.rst
index b670faa18..5664db3ad 100644
--- a/doc_src/cmds/begin.rst
+++ b/doc_src/cmds/begin.rst
@@ -6,7 +6,9 @@ begin - start a new block of code
Synopsis
--------
-**begin**; [*COMMANDS* ...]; **end**
+.. synopsis::
+
+ begin; [COMMANDS ...]; end
Description
-----------
diff --git a/doc_src/cmds/bg.rst b/doc_src/cmds/bg.rst
index 731d26d36..8d9b0635c 100644
--- a/doc_src/cmds/bg.rst
+++ b/doc_src/cmds/bg.rst
@@ -6,7 +6,9 @@ bg - send jobs to background
Synopsis
--------
-``bg`` [*PID* ...]
+.. synopsis::
+
+ bg [PID ...]
Description
-----------
diff --git a/doc_src/cmds/bind.rst b/doc_src/cmds/bind.rst
index e708704a1..9de9ed5ca 100644
--- a/doc_src/cmds/bind.rst
+++ b/doc_src/cmds/bind.rst
@@ -5,12 +5,14 @@ bind - handle fish key bindings
Synopsis
--------
-| ``bind`` [(**-M** | **--mode**) *MODE*] [(*-m* | *--sets-mode*) **NEW_MODE**] [*--preset* | *--user*] [*-s* | *--silent*] [**-k** | **--key**] *SEQUENCE* *COMMAND* ...
-| ``bind`` [(**-M** | **--mode**) *MODE*] [**-k** | **--key**] [**--preset**] [**--user**] *SEQUENCE*
-| ``bind`` (**-K** | **--key-names**) [**-a** | **--all**] [**--preset**] [**--user**]
-| ``bind`` (**-f** | **--function-names**)
-| ``bind`` (**-L** | **--list-modes**)
-| ``bind`` (**-e** | **--erase**) [(**-M** | **--mode**) *MODE*] [**--preset**] [**--user**] [**-a** | **--all**] | [**-k** | **--key**] *SEQUENCE* ...
+.. synopsis::
+
+ bind [(-M | --mode) MODE] [(-m | --sets-mode) NEW_MODE] [--preset | --user] [-s | --silent] [-k | --key] SEQUENCE COMMAND ...
+ bind [(-M | --mode) MODE] [-k | --key] [--preset] [--user] SEQUENCE
+ bind (-K | --key-names) [-a | --all] [--preset] [--user]
+ bind (-f | --function-names)
+ bind (-L | --list-modes)
+ bind (-e | --erase) [(-M | --mode) MODE] [--preset] [--user] [-a | --all] | [-k | --key] SEQUENCE ...
Description
-----------
diff --git a/doc_src/cmds/block.rst b/doc_src/cmds/block.rst
index 7a4ed2abb..521d05dbc 100644
--- a/doc_src/cmds/block.rst
+++ b/doc_src/cmds/block.rst
@@ -6,7 +6,9 @@ block - temporarily block delivery of events
Synopsis
--------
-**block** [*OPTIONS*]
+.. synopsis::
+
+ block [OPTIONS]
Description
-----------
diff --git a/doc_src/cmds/break.rst b/doc_src/cmds/break.rst
index 523709be1..b625caa76 100644
--- a/doc_src/cmds/break.rst
+++ b/doc_src/cmds/break.rst
@@ -6,11 +6,13 @@ break - stop the current inner loop
Synopsis
--------
-| loop_construct
-| [*COMMANDS* ...]
-| **break**
-| [*COMMANDS* ...]
-| end
+.. synopsis::
+
+ loop_construct
+ [COMMANDS ...]
+ break
+ [COMMANDS ...]
+ end
Description
-----------
diff --git a/doc_src/cmds/breakpoint.rst b/doc_src/cmds/breakpoint.rst
index a076f760f..48c225e5f 100644
--- a/doc_src/cmds/breakpoint.rst
+++ b/doc_src/cmds/breakpoint.rst
@@ -6,7 +6,9 @@ breakpoint - launch debug mode
Synopsis
--------
-``breakpoint``
+.. synopsis::
+
+ breakpoint
Description
-----------
diff --git a/doc_src/cmds/builtin.rst b/doc_src/cmds/builtin.rst
index 69261ef46..dd443ce71 100644
--- a/doc_src/cmds/builtin.rst
+++ b/doc_src/cmds/builtin.rst
@@ -6,8 +6,10 @@ builtin - run a builtin command
Synopsis
--------
-| **builtin** [*OPTIONS*] *BUILTINNAME*
-| **builtin** --query *BUILTINNAME* ...
+.. synopsis::
+
+ builtin [OPTIONS] BUILTINNAME
+ builtin --query BUILTINNAME ...
Description
-----------
diff --git a/doc_src/cmds/case.rst b/doc_src/cmds/case.rst
index 6f33d3dc9..e971108b8 100644
--- a/doc_src/cmds/case.rst
+++ b/doc_src/cmds/case.rst
@@ -6,10 +6,12 @@ case - conditionally execute a block of commands
Synopsis
--------
-| **switch** *VALUE*
-| [**case** [*GLOB* ...]
-| [*COMMAND* ...]]
-| **end**
+.. synopsis::
+
+ switch VALUE
+ [case [GLOB ...]
+ [COMMAND ...]]
+ end
Description
-----------
diff --git a/doc_src/cmds/cd.rst b/doc_src/cmds/cd.rst
index 38ea70d94..99e6a691e 100644
--- a/doc_src/cmds/cd.rst
+++ b/doc_src/cmds/cd.rst
@@ -6,7 +6,9 @@ cd - change directory
Synopsis
--------
-**cd** [*DIRECTORY*]
+.. synopsis::
+
+ cd [DIRECTORY]
Description
-----------
diff --git a/doc_src/cmds/cdh.rst b/doc_src/cmds/cdh.rst
index d85a494fd..4a47b1656 100644
--- a/doc_src/cmds/cdh.rst
+++ b/doc_src/cmds/cdh.rst
@@ -6,7 +6,9 @@ cdh - change to a recently visited directory
Synopsis
--------
-``cdh`` [*DIR*]
+.. synopsis::
+
+ cdh [DIR]
Description
-----------
diff --git a/doc_src/cmds/command.rst b/doc_src/cmds/command.rst
index 598172169..c0249fc14 100644
--- a/doc_src/cmds/command.rst
+++ b/doc_src/cmds/command.rst
@@ -6,7 +6,9 @@ command - run a program
Synopsis
--------
-**command** [**OPTIONS**] [*COMMANDNAME* [ARG ...]]
+.. synopsis::
+
+ command [OPTIONS] [COMMANDNAME [ARG ...]]
Description
-----------
diff --git a/doc_src/cmds/commandline.rst b/doc_src/cmds/commandline.rst
index b58835944..411bd83f3 100644
--- a/doc_src/cmds/commandline.rst
+++ b/doc_src/cmds/commandline.rst
@@ -6,7 +6,9 @@ commandline - set or get the current command line buffer
Synopsis
--------
-``commandline`` [*OPTIONS*] [*CMD*]
+.. synopsis::
+
+ commandline [OPTIONS] [CMD]
Description
-----------
diff --git a/doc_src/cmds/complete.rst b/doc_src/cmds/complete.rst
index 91c17c31c..501dbe1c0 100644
--- a/doc_src/cmds/complete.rst
+++ b/doc_src/cmds/complete.rst
@@ -6,8 +6,10 @@ complete - edit command specific tab-completions
Synopsis
--------
-``complete`` ((**-c** | **--command**) | (**-p** | **--path**)) *COMMAND* [*options*]
-``complete`` ((**-C** | **--do-complete**)) *STRING*
+.. synopsis::
+
+ complete ((-c | --command) | (-p | --path)) COMMAND [options]
+ complete ((-C | --do-complete)) STRING
Description
-----------
diff --git a/doc_src/cmds/contains.rst b/doc_src/cmds/contains.rst
index 283c765b3..7d79238c5 100644
--- a/doc_src/cmds/contains.rst
+++ b/doc_src/cmds/contains.rst
@@ -6,7 +6,9 @@ contains - test if a word is present in a list
Synopsis
--------
-``contains`` [**options**] *KEY* [*VALUES* ...]
+.. synopsis::
+
+ contains [options] KEY [VALUES ...]
Description
-----------
diff --git a/doc_src/cmds/continue.rst b/doc_src/cmds/continue.rst
index 208f37ff1..275976c76 100644
--- a/doc_src/cmds/continue.rst
+++ b/doc_src/cmds/continue.rst
@@ -6,7 +6,9 @@ continue - skip the remainder of the current iteration of the current inner loop
Synopsis
--------
-**LOOP_CONSTRUCT**; [*COMMANDS* ...;] **continue**; [*COMMANDS* ...;] **end**
+.. synopsis::
+
+ LOOP_CONSTRUCT; [COMMANDS ...;] continue; [COMMANDS ...;] end
Description
-----------
diff --git a/doc_src/cmds/count.rst b/doc_src/cmds/count.rst
index 2ebd5859f..cda64bd3c 100644
--- a/doc_src/cmds/count.rst
+++ b/doc_src/cmds/count.rst
@@ -6,9 +6,11 @@ count - count the number of elements of a list
Synopsis
--------
-| ``count`` string1 string2 ...
-| *command* | ``count``
-| ``count`` [...] < *FILE*
+.. synopsis::
+
+ count string1 string2 ...
+ command | count
+ count [...] < FILE
Description
-----------
diff --git a/doc_src/cmds/dirh.rst b/doc_src/cmds/dirh.rst
index d55a6de85..d226a257d 100644
--- a/doc_src/cmds/dirh.rst
+++ b/doc_src/cmds/dirh.rst
@@ -6,7 +6,9 @@ dirh - print directory history
Synopsis
--------
-``dirh``
+.. synopsis::
+
+ dirh
Description
-----------
diff --git a/doc_src/cmds/dirs.rst b/doc_src/cmds/dirs.rst
index 837f892ca..613ec96e9 100644
--- a/doc_src/cmds/dirs.rst
+++ b/doc_src/cmds/dirs.rst
@@ -6,7 +6,9 @@ dirs - print directory stack
Synopsis
--------
-``dirs`` [*-c*]
+.. synopsis::
+
+ dirs [-c]
Description
-----------
diff --git a/doc_src/cmds/disown.rst b/doc_src/cmds/disown.rst
index c6b972604..678f33c39 100644
--- a/doc_src/cmds/disown.rst
+++ b/doc_src/cmds/disown.rst
@@ -6,7 +6,9 @@ disown - remove a process from the list of jobs
Synopsis
--------
-``disown`` [**PID** ...]
+.. synopsis::
+
+ disown [PID ...]
Description
-----------
diff --git a/doc_src/cmds/echo.rst b/doc_src/cmds/echo.rst
index 5cf5de3e7..9fb0adb05 100644
--- a/doc_src/cmds/echo.rst
+++ b/doc_src/cmds/echo.rst
@@ -6,7 +6,9 @@ echo - display a line of text
Synopsis
--------
-``echo`` [*options*] [*STRING*]
+.. synopsis::
+
+ echo [options] [STRING]
Description
-----------
diff --git a/doc_src/cmds/else.rst b/doc_src/cmds/else.rst
index 2d93270b1..62aa655d0 100644
--- a/doc_src/cmds/else.rst
+++ b/doc_src/cmds/else.rst
@@ -6,7 +6,9 @@ else - execute command if a condition is not met
Synopsis
--------
-**if** *CONDITION*; *COMMANDS_TRUE* ...; [**else**; *COMMANDS_FALSE* ...;] **end**
+.. synopsis::
+
+ if CONDITION; COMMANDS_TRUE ...; [else; COMMANDS_FALSE ...;] end
Description
-----------
diff --git a/doc_src/cmds/emit.rst b/doc_src/cmds/emit.rst
index b4696b08d..6b11a15f3 100644
--- a/doc_src/cmds/emit.rst
+++ b/doc_src/cmds/emit.rst
@@ -6,7 +6,9 @@ emit - emit a generic event
Synopsis
--------
-``emit`` *EVENT_NAME* [*ARGUMENTS* ...]
+.. synopsis::
+
+ emit EVENT_NAME [ARGUMENTS ...]
Description
-----------
diff --git a/doc_src/cmds/end.rst b/doc_src/cmds/end.rst
index 4300a7cd8..9ceb17e1e 100644
--- a/doc_src/cmds/end.rst
+++ b/doc_src/cmds/end.rst
@@ -6,15 +6,19 @@ end - end a block of commands
Synopsis
--------
-| **begin**
-| [*COMMANDS* ...]
-| **end**
+.. synopsis::
-| **function** *NAME* [*OPTIONS*]; *COMMANDS* ...; **end**
-| **if** *CONDITION*; *COMMANDS_TRUE* ...; [**else**; *COMMANDS_FALSE* ...;] **end**
-| **switch** *VALUE*; [**case** [*WILDCARD* ...]; [*COMMANDS* ...]; ...] **end**
-| **while** *CONDITION*; *COMMANDS* ...; **end**
-| **for** *VARNAME* in [*VALUES* ...]; **COMMANDS** ...; **end**
+ begin
+ [COMMANDS ...]
+ end
+
+.. synopsis::
+
+ function NAME [OPTIONS]; COMMANDS ...; end
+ if CONDITION; COMMANDS_TRUE ...; [else; COMMANDS_FALSE ...;] end
+ switch VALUE; [case [WILDCARD ...]; [COMMANDS ...]; ...] end
+ while CONDITION; COMMANDS ...; end
+ for VARNAME in [VALUES ...]; COMMANDS ...; end
Description
-----------
diff --git a/doc_src/cmds/eval.rst b/doc_src/cmds/eval.rst
index 867158c2f..2b05fdb84 100644
--- a/doc_src/cmds/eval.rst
+++ b/doc_src/cmds/eval.rst
@@ -6,7 +6,9 @@ eval - evaluate the specified commands
Synopsis
--------
-**eval** [*COMMANDS* ...]
+.. synopsis::
+
+ eval [COMMANDS ...]
Description
-----------
diff --git a/doc_src/cmds/exec.rst b/doc_src/cmds/exec.rst
index 25987acf9..28be61f50 100644
--- a/doc_src/cmds/exec.rst
+++ b/doc_src/cmds/exec.rst
@@ -6,7 +6,9 @@ exec - execute command in current process
Synopsis
--------
-**exec** *COMMAND*
+.. synopsis::
+
+ exec COMMAND
Description
-----------
diff --git a/doc_src/cmds/exit.rst b/doc_src/cmds/exit.rst
index 8ff971896..f3f481c9a 100644
--- a/doc_src/cmds/exit.rst
+++ b/doc_src/cmds/exit.rst
@@ -7,7 +7,9 @@ exit - exit the shell
Synopsis
--------
-**exit** [*code*]
+.. synopsis::
+
+ exit [code]
Description
-----------
diff --git a/doc_src/cmds/false.rst b/doc_src/cmds/false.rst
index e7c5ec9f6..1910e8647 100644
--- a/doc_src/cmds/false.rst
+++ b/doc_src/cmds/false.rst
@@ -6,7 +6,9 @@ false - return an unsuccessful result
Synopsis
--------
-**false**
+.. synopsis::
+
+ false
Description
-----------
diff --git a/doc_src/cmds/fg.rst b/doc_src/cmds/fg.rst
index 6bf4be662..7db7cc1dd 100644
--- a/doc_src/cmds/fg.rst
+++ b/doc_src/cmds/fg.rst
@@ -6,7 +6,9 @@ fg - bring job to foreground
Synopsis
--------
-``fg`` [*PID*]
+.. synopsis::
+
+ fg [PID]
Description
-----------
diff --git a/doc_src/cmds/fish.rst b/doc_src/cmds/fish.rst
index 22670453d..559c1f8c0 100644
--- a/doc_src/cmds/fish.rst
+++ b/doc_src/cmds/fish.rst
@@ -7,8 +7,10 @@ fish - the friendly interactive shell
Synopsis
--------
-| ``fish`` [*OPTIONS*] [*FILE* [ARG ...]]
-| ``fish`` [*OPTIONS*] [**-c** *COMMAND* [ARG ...]]
+.. synopsis::
+
+ fish [OPTIONS] [FILE [ARG ...]]
+ fish [OPTIONS] [-c COMMAND [ARG ...]]
Description
-----------
diff --git a/doc_src/cmds/fish_add_path.rst b/doc_src/cmds/fish_add_path.rst
index d397e0ff8..9fedec533 100644
--- a/doc_src/cmds/fish_add_path.rst
+++ b/doc_src/cmds/fish_add_path.rst
@@ -7,8 +7,10 @@ fish_add_path - add to the path
Synopsis
--------
-| ``fish_add_path`` *path* ...
-| ``fish_add_path`` [(*-g* | *--global*) | (*-U* | *--universal*) | (*-P* | *--path*)] [(*-m* | *--move*)] [(*-a* | *--append*) | (*-p* | *--prepend*)] [(*-v* | *--verbose*) | (*-n* | *--dry-run*)] *paths* ...
+.. synopsis::
+
+ fish_add_path path ...
+ fish_add_path [(-g | --global) | (-U | --universal) | (-P | --path)] [(-m | --move)] [(-a | --append) | (-p | --prepend)] [(-v | --verbose) | (-n | --dry-run)] paths ...
Description
diff --git a/doc_src/cmds/fish_breakpoint_prompt.rst b/doc_src/cmds/fish_breakpoint_prompt.rst
index 8eeb4025c..af8f12838 100644
--- a/doc_src/cmds/fish_breakpoint_prompt.rst
+++ b/doc_src/cmds/fish_breakpoint_prompt.rst
@@ -6,7 +6,10 @@ fish_breakpoint_prompt - define the prompt when stopped at a breakpoint
Synopsis
--------
-**fish_breakpoint_prompt**
+.. synopsis::
+
+ fish_breakpoint_prompt
+
::
function fish_breakpoint_prompt
diff --git a/doc_src/cmds/fish_command_not_found.rst b/doc_src/cmds/fish_command_not_found.rst
index bed9071e8..007f4ef00 100644
--- a/doc_src/cmds/fish_command_not_found.rst
+++ b/doc_src/cmds/fish_command_not_found.rst
@@ -6,9 +6,11 @@ fish_command_not_found - what to do when a command wasn't found
Synopsis
--------
-| **function** ``fish_command_not_found``
-| ...
-| **end**
+.. synopsis::
+
+ function fish_command_not_found
+ ...
+ end
Description
diff --git a/doc_src/cmds/fish_config.rst b/doc_src/cmds/fish_config.rst
index 08503d723..1ae913680 100644
--- a/doc_src/cmds/fish_config.rst
+++ b/doc_src/cmds/fish_config.rst
@@ -6,9 +6,11 @@ fish_config - start the web-based configuration interface
Synopsis
--------
-| ``fish_config`` [browse]
-| ``fish_config`` **prompt** (choose | list | save | show)
-| ``fish_config`` **theme** (choose | demo | dump | list | save | show)
+.. synopsis::
+
+ fish_config [browse]
+ fish_config prompt (choose | list | save | show)
+ fish_config theme (choose | demo | dump | list | save | show)
Description
-----------
diff --git a/doc_src/cmds/fish_git_prompt.rst b/doc_src/cmds/fish_git_prompt.rst
index 88b0dadfa..3d8a1623c 100644
--- a/doc_src/cmds/fish_git_prompt.rst
+++ b/doc_src/cmds/fish_git_prompt.rst
@@ -6,12 +6,15 @@ fish_git_prompt - output git information for use in a prompt
Synopsis
--------
-``fish_git_prompt``
+.. synopsis::
+
+ fish_git_prompt
+
::
- function fish_prompt
- printf '%s' $PWD (fish_git_prompt) ' $ '
- end
+ function fish_prompt
+ printf '%s' $PWD (fish_git_prompt) ' $ '
+ end
Description
diff --git a/doc_src/cmds/fish_greeting.rst b/doc_src/cmds/fish_greeting.rst
index 722addee8..c5c06b903 100644
--- a/doc_src/cmds/fish_greeting.rst
+++ b/doc_src/cmds/fish_greeting.rst
@@ -6,7 +6,10 @@ fish_greeting - display a welcome message in interactive shells
Synopsis
--------
-**fish_greeting**
+.. synopsis::
+
+ fish_greeting
+
::
function fish_greeting
diff --git a/doc_src/cmds/fish_hg_prompt.rst b/doc_src/cmds/fish_hg_prompt.rst
index 0fa7dc3aa..b2f96dbc1 100644
--- a/doc_src/cmds/fish_hg_prompt.rst
+++ b/doc_src/cmds/fish_hg_prompt.rst
@@ -6,7 +6,10 @@ fish_hg_prompt - output Mercurial information for use in a prompt
Synopsis
--------
-**fish_hg_prompt**
+.. synopsis::
+
+ fish_hg_prompt
+
::
function fish_prompt
diff --git a/doc_src/cmds/fish_indent.rst b/doc_src/cmds/fish_indent.rst
index 855def6f4..bab448292 100644
--- a/doc_src/cmds/fish_indent.rst
+++ b/doc_src/cmds/fish_indent.rst
@@ -7,7 +7,9 @@ fish_indent - indenter and prettifier
Synopsis
--------
-**fish_indent** [*OPTIONS*] [*FILE* ...]
+.. synopsis::
+
+ fish_indent [OPTIONS] [FILE ...]
Description
diff --git a/doc_src/cmds/fish_is_root_user.rst b/doc_src/cmds/fish_is_root_user.rst
index 45c030a89..9bfb73ba5 100644
--- a/doc_src/cmds/fish_is_root_user.rst
+++ b/doc_src/cmds/fish_is_root_user.rst
@@ -6,7 +6,9 @@ fish_is_root_user - check if the current user is root
Synopsis
--------
-**fish_is_root_user**
+.. synopsis::
+
+ fish_is_root_user
Description
-----------
diff --git a/doc_src/cmds/fish_key_reader.rst b/doc_src/cmds/fish_key_reader.rst
index 32074a63c..ed26554a7 100644
--- a/doc_src/cmds/fish_key_reader.rst
+++ b/doc_src/cmds/fish_key_reader.rst
@@ -6,7 +6,9 @@ fish_key_reader - explore what characters keyboard keys send
Synopsis
--------
-**fish_key_reader** [*OPTIONS*]
+.. synopsis::
+
+ fish_key_reader [OPTIONS]
Description
-----------
diff --git a/doc_src/cmds/fish_mode_prompt.rst b/doc_src/cmds/fish_mode_prompt.rst
index 62ffa09b9..42632f12c 100644
--- a/doc_src/cmds/fish_mode_prompt.rst
+++ b/doc_src/cmds/fish_mode_prompt.rst
@@ -6,7 +6,10 @@ fish_mode_prompt - define the appearance of the mode indicator
Synopsis
--------
-**fish_mode_prompt**
+.. synopsis::
+
+ fish_mode_prompt
+
::
function fish_mode_prompt
diff --git a/doc_src/cmds/fish_opt.rst b/doc_src/cmds/fish_opt.rst
index 4ff8ac573..140c5aaf2 100644
--- a/doc_src/cmds/fish_opt.rst
+++ b/doc_src/cmds/fish_opt.rst
@@ -5,8 +5,11 @@ fish_opt - create an option spec for the argparse command
Synopsis
--------
-| ``fish_opt`` [**--help**]
-| ``fish_opt`` [(**-slor**, **--multiple-vals=**) *optname*]
+
+.. synopsis::
+
+ fish_opt [--help]
+ fish_opt [(-slor | --multiple-vals=) optname]
Description
-----------
diff --git a/doc_src/cmds/fish_prompt.rst b/doc_src/cmds/fish_prompt.rst
index 74ace8422..097bac4bd 100644
--- a/doc_src/cmds/fish_prompt.rst
+++ b/doc_src/cmds/fish_prompt.rst
@@ -6,7 +6,10 @@ fish_prompt - define the appearance of the command line prompt
Synopsis
--------
-``fish_prompt``
+.. synopsis::
+
+ fish_prompt
+
::
function fish_prompt
diff --git a/doc_src/cmds/fish_status_to_signal.rst b/doc_src/cmds/fish_status_to_signal.rst
index 2ef79dee0..4d81db8c1 100644
--- a/doc_src/cmds/fish_status_to_signal.rst
+++ b/doc_src/cmds/fish_status_to_signal.rst
@@ -6,7 +6,10 @@ fish_status_to_signal - convert exit codes to human-friendly signals
Synopsis
--------
-``fish_status_to_signal`` *NUM*
+.. synopsis::
+
+ fish_status_to_signal NUM
+
::
function fish_prompt
diff --git a/doc_src/cmds/fish_svn_prompt.rst b/doc_src/cmds/fish_svn_prompt.rst
index 589faf9cb..edc86b65d 100644
--- a/doc_src/cmds/fish_svn_prompt.rst
+++ b/doc_src/cmds/fish_svn_prompt.rst
@@ -6,7 +6,10 @@ fish_svn_prompt - output Subversion information for use in a prompt
Synopsis
--------
-``fish_svn_prompt``
+.. synopsis::
+
+ fish_svn_prompt
+
::
function fish_prompt
diff --git a/doc_src/cmds/fish_title.rst b/doc_src/cmds/fish_title.rst
index 7c4046a1f..d286d1445 100644
--- a/doc_src/cmds/fish_title.rst
+++ b/doc_src/cmds/fish_title.rst
@@ -6,7 +6,10 @@ fish_title - define the terminal's title
Synopsis
--------
-``fish_title``
+.. synopsis::
+
+ fish_title
+
::
function fish_title
diff --git a/doc_src/cmds/fish_update_completions.rst b/doc_src/cmds/fish_update_completions.rst
index b8d155dbb..340dbb343 100644
--- a/doc_src/cmds/fish_update_completions.rst
+++ b/doc_src/cmds/fish_update_completions.rst
@@ -6,7 +6,9 @@ fish_update_completions - update completions using manual pages
Synopsis
--------
-``fish_update_completions``
+.. synopsis::
+
+ fish_update_completions
Description
-----------
diff --git a/doc_src/cmds/fish_vcs_prompt.rst b/doc_src/cmds/fish_vcs_prompt.rst
index 9e5da1be0..15eb3997d 100644
--- a/doc_src/cmds/fish_vcs_prompt.rst
+++ b/doc_src/cmds/fish_vcs_prompt.rst
@@ -6,7 +6,10 @@ fish_vcs_prompt - output version control system information for use in a prompt
Synopsis
--------
-``fish_vcs_prompt``
+.. synopsis::
+
+ fish_vcs_prompt
+
::
function fish_prompt
diff --git a/doc_src/cmds/for.rst b/doc_src/cmds/for.rst
index 36e15ddce..4d5064cc5 100644
--- a/doc_src/cmds/for.rst
+++ b/doc_src/cmds/for.rst
@@ -6,7 +6,9 @@ for - perform a set of commands multiple times
Synopsis
--------
-**for** *VARNAME* in [*VALUES* ...]; *COMMANDS* ...; **end**
+.. synopsis::
+
+ for VARNAME in [VALUES ...]; COMMANDS ...; end
Description
-----------
diff --git a/doc_src/cmds/funced.rst b/doc_src/cmds/funced.rst
index b78920b01..596baf4e8 100644
--- a/doc_src/cmds/funced.rst
+++ b/doc_src/cmds/funced.rst
@@ -6,7 +6,9 @@ funced - edit a function interactively
Synopsis
--------
-``funced`` [**OPTIONS**] *NAME*
+.. synopsis::
+
+ funced [OPTIONS] NAME
Description
-----------
diff --git a/doc_src/cmds/funcsave.rst b/doc_src/cmds/funcsave.rst
index 923530999..76b3a0dde 100644
--- a/doc_src/cmds/funcsave.rst
+++ b/doc_src/cmds/funcsave.rst
@@ -6,8 +6,10 @@ funcsave - save the definition of a function to the user's autoload directory
Synopsis
--------
-| ``funcsave`` *FUNCTION_NAME*
-| ``funcsave`` [**-q**] [(**-d** | **--directory**) *DIR*] *FUNCTION_NAME*
+.. synopsis::
+
+ funcsave FUNCTION_NAME
+ funcsave [-q] [(-d | --directory) DIR] FUNCTION_NAME
Description
diff --git a/doc_src/cmds/function.rst b/doc_src/cmds/function.rst
index 2ec3d990a..abb3ba33c 100644
--- a/doc_src/cmds/function.rst
+++ b/doc_src/cmds/function.rst
@@ -6,7 +6,9 @@ function - create a function
Synopsis
--------
-**function** *NAME* [*OPTIONS*]; *BODY*; **end**
+.. synopsis::
+
+ function NAME [OPTIONS]; BODY; end
Description
diff --git a/doc_src/cmds/functions.rst b/doc_src/cmds/functions.rst
index bb7b0e801..cdd0da710 100644
--- a/doc_src/cmds/functions.rst
+++ b/doc_src/cmds/functions.rst
@@ -6,11 +6,13 @@ functions - print or erase functions
Synopsis
--------
-| **functions** [**-a** | **--all**] [**-n** | **--names**]
-| **functions** [**-D** | **--details**] [**-v**] *FUNCTION*
-| **functions** **-c** *OLDNAME* *NEWNAME*
-| **functions** **-d** *DESCRIPTION* *FUNCTION*
-| **functions** [**-e** | **-q**] *FUNCTION* ...
+.. synopsis::
+
+ functions [-a | --all] [-n | --names]
+ functions [-D | --details] [-v] FUNCTION
+ functions -c OLDNAME NEWNAME
+ functions -d DESCRIPTION FUNCTION
+ functions [-e | -q] FUNCTION ...
Description
-----------
diff --git a/doc_src/cmds/help.rst b/doc_src/cmds/help.rst
index 1b6af322b..8a344338b 100644
--- a/doc_src/cmds/help.rst
+++ b/doc_src/cmds/help.rst
@@ -6,7 +6,9 @@ help - display fish documentation
Synopsis
--------
-``help`` [*SECTION*]
+.. synopsis::
+
+ help [SECTION]
Description
-----------
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index 46be50164..cb4b36cbb 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -6,15 +6,17 @@ history - show and manipulate command history
Synopsis
--------
-| ``history`` [**search**] [**--show-time**] [**--case-sensitive**]
- \ [**--exact** | **--prefix** | **--contains**] [**--max** *n*] [**--null**] [**--reverse**]
- \ [*SEARCH_STRING* ...]
-| ``history`` **delete** [**--case-sensitive**]
- \ [**--exact** | **--prefix** | **--contains**] *SEARCH_STRING* ...
-| ``history`` **merge**
-| ``history`` **save**
-| ``history`` **clear**
-| ``history`` **clear-session**
+.. synopsis::
+
+ history [search] [--show-time] [--case-sensitive]
+ [--exact | --prefix | --contains] [--max n] [--null] [--reverse]
+ [SEARCH_STRING ...]
+ history delete [--case-sensitive]
+ [--exact | --prefix | --contains] SEARCH_STRING ...
+ history merge
+ history save
+ history clear
+ history clear-session
Description
-----------
diff --git a/doc_src/cmds/if.rst b/doc_src/cmds/if.rst
index 2f6aa65ce..771fcdfe5 100644
--- a/doc_src/cmds/if.rst
+++ b/doc_src/cmds/if.rst
@@ -6,10 +6,12 @@ if - conditionally execute a command
Synopsis
--------
-| **if** *CONDITION*; *COMMANDS_TRUE* ...;
-| [**else** **if** *CONDITION2*; *COMMANDS_TRUE2* ...;]
-| [**else**; *COMMANDS_FALSE* ...;]
-| **end**
+.. synopsis::
+
+ if CONDITION; COMMANDS_TRUE ...;
+ [else if CONDITION2; COMMANDS_TRUE2 ...;]
+ [else; COMMANDS_FALSE ...;]
+ end
Description
-----------
diff --git a/doc_src/cmds/isatty.rst b/doc_src/cmds/isatty.rst
index cbd52bb2e..f3417aca2 100644
--- a/doc_src/cmds/isatty.rst
+++ b/doc_src/cmds/isatty.rst
@@ -6,7 +6,9 @@ isatty - test if a file descriptor is a terminal
Synopsis
--------
-``isatty`` [*FILE DESCRIPTOR*]
+.. synopsis::
+
+ isatty [FILE DESCRIPTOR]
Description
-----------
diff --git a/doc_src/cmds/jobs.rst b/doc_src/cmds/jobs.rst
index 0453247de..f84dd592c 100644
--- a/doc_src/cmds/jobs.rst
+++ b/doc_src/cmds/jobs.rst
@@ -6,7 +6,9 @@ jobs - print currently running jobs
Synopsis
--------
-``jobs`` [*OPTIONS*] [*PID* | %*JOBID*]
+.. synopsis::
+
+ jobs [OPTIONS] [PID | %JOBID]
Description
diff --git a/doc_src/cmds/math.rst b/doc_src/cmds/math.rst
index 7f0b043f1..db203669e 100644
--- a/doc_src/cmds/math.rst
+++ b/doc_src/cmds/math.rst
@@ -6,7 +6,9 @@ math - perform mathematics calculations
Synopsis
--------
-``math`` [(**-s** | **--scale**) *N*] [(**-b** | **--base**) *BASE*] *EXPRESSION* ...
+.. synopsis::
+
+ math [(-s | --scale) N] [(-b | --base) BASE] EXPRESSION ...
Description
diff --git a/doc_src/cmds/nextd.rst b/doc_src/cmds/nextd.rst
index 72f6d1b8b..6ea10f316 100644
--- a/doc_src/cmds/nextd.rst
+++ b/doc_src/cmds/nextd.rst
@@ -6,7 +6,9 @@ nextd - move forward through directory history
Synopsis
--------
-``nextd`` [**-l** | **--list**] [*POS*]
+.. synopsis::
+
+ nextd [-l | --list] [POS]
Description
-----------
diff --git a/doc_src/cmds/not.rst b/doc_src/cmds/not.rst
index 3168f1956..6e7a9c375 100644
--- a/doc_src/cmds/not.rst
+++ b/doc_src/cmds/not.rst
@@ -6,7 +6,9 @@ not - negate the exit status of a job
Synopsis
--------
-**not** *COMMAND* [*options* ...]
+.. synopsis::
+
+ not COMMAND [options ...]
Description
diff --git a/doc_src/cmds/open.rst b/doc_src/cmds/open.rst
index 3bff34c4e..9f9875d27 100644
--- a/doc_src/cmds/open.rst
+++ b/doc_src/cmds/open.rst
@@ -6,7 +6,9 @@ open - open file in its default application
Synopsis
--------
-``open`` *FILES* ...
+.. synopsis::
+
+ open FILES ...
Description
diff --git a/doc_src/cmds/or.rst b/doc_src/cmds/or.rst
index 8a932d802..52c547661 100644
--- a/doc_src/cmds/or.rst
+++ b/doc_src/cmds/or.rst
@@ -6,7 +6,9 @@ or - conditionally execute a command
Synopsis
--------
-*COMMAND1*; **or** *COMMAND2*
+.. synopsis::
+
+ COMMAND1; or COMMAND2
Description
-----------
diff --git a/doc_src/cmds/popd.rst b/doc_src/cmds/popd.rst
index 38567b5df..3eb6b8ad5 100644
--- a/doc_src/cmds/popd.rst
+++ b/doc_src/cmds/popd.rst
@@ -6,7 +6,9 @@ popd - move through directory stack
Synopsis
--------
-``popd``
+.. synopsis::
+
+ popd
Description
-----------
diff --git a/doc_src/cmds/prevd.rst b/doc_src/cmds/prevd.rst
index 2a1345b52..3d9a310ee 100644
--- a/doc_src/cmds/prevd.rst
+++ b/doc_src/cmds/prevd.rst
@@ -6,7 +6,9 @@ prevd - move backward through directory history
Synopsis
--------
-``prevd`` [**-l** | **--list**] [*POS*]
+.. synopsis::
+
+ prevd [-l | --list] [POS]
Description
-----------
diff --git a/doc_src/cmds/printf.rst b/doc_src/cmds/printf.rst
index 2febca422..be66487e8 100644
--- a/doc_src/cmds/printf.rst
+++ b/doc_src/cmds/printf.rst
@@ -6,7 +6,9 @@ printf - display text according to a format string
Synopsis
--------
-``printf`` *FORMAT* [*ARGUMENT* ...]
+.. synopsis::
+
+ printf FORMAT [ARGUMENT ...]
Description
-----------
diff --git a/doc_src/cmds/prompt_hostname.rst b/doc_src/cmds/prompt_hostname.rst
index 1751abaa2..386e62138 100644
--- a/doc_src/cmds/prompt_hostname.rst
+++ b/doc_src/cmds/prompt_hostname.rst
@@ -6,7 +6,9 @@ prompt_hostname - print the hostname, shortened for use in the prompt
Synopsis
--------
-``prompt_hostname``
+.. synopsis::
+
+ prompt_hostname
Description
-----------
diff --git a/doc_src/cmds/prompt_login.rst b/doc_src/cmds/prompt_login.rst
index 2741e4b6a..b69dbc5d4 100644
--- a/doc_src/cmds/prompt_login.rst
+++ b/doc_src/cmds/prompt_login.rst
@@ -6,7 +6,9 @@ prompt_login - describe the login suitable for prompt
Synopsis
--------
-``prompt_login``
+.. synopsis::
+
+ prompt_login
Description
-----------
diff --git a/doc_src/cmds/prompt_pwd.rst b/doc_src/cmds/prompt_pwd.rst
index 7437694f7..47a5a7fd9 100644
--- a/doc_src/cmds/prompt_pwd.rst
+++ b/doc_src/cmds/prompt_pwd.rst
@@ -6,7 +6,9 @@ prompt_pwd - print pwd suitable for prompt
Synopsis
--------
-``prompt_pwd``
+.. synopsis::
+
+ prompt_pwd
Description
-----------
diff --git a/doc_src/cmds/psub.rst b/doc_src/cmds/psub.rst
index f83e086cc..bf0be47d1 100644
--- a/doc_src/cmds/psub.rst
+++ b/doc_src/cmds/psub.rst
@@ -6,7 +6,9 @@ psub - perform process substitution
Synopsis
--------
-*COMMAND1* ( *COMMAND2* | ``psub`` [**-F** | -**-fifo**] [**-f** | **--file**] [(**-s** | **--suffix**) *SUFFIX*] )
+.. synopsis::
+
+ COMMAND1 ( COMMAND2 | psub [-F | --fifo] [-f | --file] [(-s | --suffix) SUFFIX] )
Description
-----------
diff --git a/doc_src/cmds/pushd.rst b/doc_src/cmds/pushd.rst
index 66fd57a33..95f256816 100644
--- a/doc_src/cmds/pushd.rst
+++ b/doc_src/cmds/pushd.rst
@@ -6,7 +6,9 @@ pushd - push directory to directory stack
Synopsis
--------
-``pushd`` *DIRECTORY*
+.. synopsis::
+
+ pushd DIRECTORY
Description
-----------
diff --git a/doc_src/cmds/pwd.rst b/doc_src/cmds/pwd.rst
index ce4244bdc..52fc3e107 100644
--- a/doc_src/cmds/pwd.rst
+++ b/doc_src/cmds/pwd.rst
@@ -6,8 +6,10 @@ pwd - output the current working directory
Synopsis
--------
-| ``pwd`` [**-P** | **--physical**]
-| ``pwd`` [**-L** | **--logical**]
+.. synopsis::
+
+ pwd [-P | --physical]
+ pwd [-L | --logical]
Description
diff --git a/doc_src/cmds/random.rst b/doc_src/cmds/random.rst
index 6f77da8d1..f1a4ff8a4 100644
--- a/doc_src/cmds/random.rst
+++ b/doc_src/cmds/random.rst
@@ -6,11 +6,13 @@ random - generate random number
Synopsis
--------
-| ``random``
-| ``random`` *SEED*
-| ``random`` *START* *END*
-| ``random`` *START* *STEP* *END*
-| ``random`` choice [*ITEMS* ...]
+.. synopsis::
+
+ random
+ random SEED
+ random START END
+ random START STEP END
+ random choice [ITEMS ...]
Description
-----------
diff --git a/doc_src/cmds/read.rst b/doc_src/cmds/read.rst
index c52049b4b..1978ece47 100644
--- a/doc_src/cmds/read.rst
+++ b/doc_src/cmds/read.rst
@@ -6,7 +6,9 @@ read - read line of input into variables
Synopsis
--------
-``read`` [*options*] [*VARIABLE* ...]
+.. synopsis::
+
+ read [options] [VARIABLE ...]
Description
-----------
diff --git a/doc_src/cmds/realpath.rst b/doc_src/cmds/realpath.rst
index 2c8b0d9b4..3bf603246 100644
--- a/doc_src/cmds/realpath.rst
+++ b/doc_src/cmds/realpath.rst
@@ -7,7 +7,9 @@ realpath - convert a path to an absolute path without symlinks
Synopsis
--------
-**realpath** [*options*] *PATH*
+.. synopsis::
+
+ realpath [options] PATH
Description
-----------
diff --git a/doc_src/cmds/return.rst b/doc_src/cmds/return.rst
index 9bd84d001..405336f09 100644
--- a/doc_src/cmds/return.rst
+++ b/doc_src/cmds/return.rst
@@ -7,7 +7,9 @@ return - stop the current inner function
Synopsis
--------
-**return** [*n*]
+.. synopsis::
+
+ return [n]
Description
-----------
diff --git a/doc_src/cmds/set.rst b/doc_src/cmds/set.rst
index d0c36871e..b5363c2e1 100644
--- a/doc_src/cmds/set.rst
+++ b/doc_src/cmds/set.rst
@@ -6,13 +6,15 @@ set - display and change shell variables
Synopsis
--------
-| ``set`` [*scope options*]
-| ``set`` [*options*] *VARIABLE* *VALUES* ...
-| ``set`` [*options*] *VARIABLE*\[*INDICES*] *VALUES* ...
-| ``set`` (**-q** | **--query**) [*scope options*] *VARIABLE* ...
-| ``set`` (**-e** | **--erase**) [*scope options*] *VARIABLE* ...
-| ``set`` (**-e** | **--erase**) [*scope options*] *VARIABLE*\[*INDICES*] ...
-| ``set`` (**-S** | **--show**) *VARIABLE* ...
+.. synopsis::
+
+ set [scope options]
+ set [options] VARIABLE VALUES ...
+ set [options] VARIABLE[INDICES] VALUES ...
+ set (-q | --query) [scope options] VARIABLE ...
+ set (-e | --erase) [scope options] VARIABLE ...
+ set (-e | --erase) [scope options] VARIABLE[INDICES] ...
+ set (-S | --show) VARIABLE ...
Description
-----------
diff --git a/doc_src/cmds/set_color.rst b/doc_src/cmds/set_color.rst
index 15ba0f0fd..6c3bde437 100644
--- a/doc_src/cmds/set_color.rst
+++ b/doc_src/cmds/set_color.rst
@@ -6,7 +6,9 @@ set_color - set the terminal color
Synopsis
--------
-``set_color`` [*OPTIONS*] *VALUE*
+.. synopsis::
+
+ set_color [OPTIONS] VALUE
Description
-----------
diff --git a/doc_src/cmds/source.rst b/doc_src/cmds/source.rst
index 7baf42e15..25fe67f9f 100644
--- a/doc_src/cmds/source.rst
+++ b/doc_src/cmds/source.rst
@@ -6,8 +6,10 @@ source - evaluate contents of file
Synopsis
--------
-| **source** *FILE* [*arguments* ...]
-| ``somecommand`` | **source**
+.. synopsis::
+
+ source FILE [arguments ...]
+ somecommand | source
Description
diff --git a/doc_src/cmds/status.rst b/doc_src/cmds/status.rst
index 076cfc612..670e2ba93 100644
--- a/doc_src/cmds/status.rst
+++ b/doc_src/cmds/status.rst
@@ -6,26 +6,28 @@ status - query fish runtime information
Synopsis
--------
-| **status**
-| **status** is-login
-| **status** is-interactive
-| **status** is-block
-| **status** is-breakpoint
-| **status** is-command-substitution
-| **status** is-no-job-control
-| **status** is-full-job-control
-| **status** is-interactive-job-control
-| **status** current-command
-| **status** filename
-| **status** basename
-| **status** dirname
-| **status** fish-path
-| **status** function
-| **status** line-number
-| **status** stack-trace
-| **status** job-control *CONTROL_TYPE*
-| **status** features
-| **status** test-feature *FEATURE*
+.. synopsis::
+
+ status
+ status is-login
+ status is-interactive
+ status is-block
+ status is-breakpoint
+ status is-command-substitution
+ status is-no-job-control
+ status is-full-job-control
+ status is-interactive-job-control
+ status current-command
+ status filename
+ status basename
+ status dirname
+ status fish-path
+ status function
+ status line-number
+ status stack-trace
+ status job-control CONTROL_TYPE
+ status features
+ status test-feature FEATURE
Description
-----------
diff --git a/doc_src/cmds/string-collect.rst b/doc_src/cmds/string-collect.rst
index 2851c09d2..fbacdd99b 100644
--- a/doc_src/cmds/string-collect.rst
+++ b/doc_src/cmds/string-collect.rst
@@ -6,7 +6,9 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` collect [**-N** | **--no-trim-newlines**] [*STRING* ...]
+.. synopsis::
+
+ string collect [-N | --no-trim-newlines] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-escape.rst b/doc_src/cmds/string-escape.rst
index 4fffcae9b..cddc80184 100644
--- a/doc_src/cmds/string-escape.rst
+++ b/doc_src/cmds/string-escape.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING* ...]
-| ``string`` unescape [**--style=**] [*STRING* ...]
+.. synopsis::
+
+ string escape [-n | --no-quoted] [--style=] [STRING ...]
+ string unescape [--style=] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-join.rst b/doc_src/cmds/string-join.rst
index 658077b55..cf6a60c4a 100644
--- a/doc_src/cmds/string-join.rst
+++ b/doc_src/cmds/string-join.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` join [**-q** | **--quiet**] SEP [*STRING* ...]
-| ``string`` join0 [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string join [-q | --quiet] SEP [STRING ...]
+ string join0 [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-length.rst b/doc_src/cmds/string-length.rst
index 03728116c..ec4fb9ed4 100644
--- a/doc_src/cmds/string-length.rst
+++ b/doc_src/cmds/string-length.rst
@@ -8,7 +8,9 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` length [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string length [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-lower.rst b/doc_src/cmds/string-lower.rst
index a265bd049..08a36ca19 100644
--- a/doc_src/cmds/string-lower.rst
+++ b/doc_src/cmds/string-lower.rst
@@ -6,7 +6,9 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` lower [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string lower [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-match.rst b/doc_src/cmds/string-match.rst
index 555ca6468..ceebaa0c4 100644
--- a/doc_src/cmds/string-match.rst
+++ b/doc_src/cmds/string-match.rst
@@ -6,9 +6,11 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
- \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ *PATTERN* [*STRING* ...]
+.. synopsis::
+
+ string match [-a | --all] [-e | --entire] [-i | --ignore-case]
+ [-r | --regex] [-n | --index] [-q | --quiet] [-v | --invert]
+ PATTERN [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-pad.rst b/doc_src/cmds/string-pad.rst
index 4daaccbf6..c70ea6d5e 100644
--- a/doc_src/cmds/string-pad.rst
+++ b/doc_src/cmds/string-pad.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` pad [**-r** | **--right**] [(**-c** | **--char**) *CHAR*] [(**-w** | **--width**) *INTEGER*]
- \ [*STRING* ...]
+.. synopsis::
+
+ string pad [-r | --right] [(-c | --char) CHAR] [(-w | --width) INTEGER]
+ [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-repeat.rst b/doc_src/cmds/string-repeat.rst
index dce27c6ba..53ada8f62 100644
--- a/doc_src/cmds/string-repeat.rst
+++ b/doc_src/cmds/string-repeat.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string repeat [(-n | --count) COUNT] [(-m | --max) MAX] [-N | --no-newline]
+ [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-replace.rst b/doc_src/cmds/string-replace.rst
index 0dcc6039e..2017f0c5b 100644
--- a/doc_src/cmds/string-replace.rst
+++ b/doc_src/cmds/string-replace.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
+.. synopsis::
+
+ string replace [-a | --all] [-f | --filter] [-i | --ignore-case]
+ [-r | --regex] [-q | --quiet] PATTERN REPLACE [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-split.rst b/doc_src/cmds/string-split.rst
index 70e68b30b..480fb3336 100644
--- a/doc_src/cmds/string-split.rst
+++ b/doc_src/cmds/string-split.rst
@@ -6,10 +6,12 @@ Synopsis
.. BEGIN SYNOPSIS
-| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ [**-r** | **--right**] *SEP* [*STRING* ...]
-| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ [**-r** | **--right**] [*STRING* ...]
+.. synopsis::
+
+ string split [(-m | --max) MAX] [-n | --no-empty] [-q | --quiet]
+ [-r | --right] SEP [STRING ...]
+ string split0 [(-m | --max) MAX] [-n | --no-empty] [-q | --quiet]
+ [-r | --right] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-sub.rst b/doc_src/cmds/string-sub.rst
index 368a0419a..784abe2e1 100644
--- a/doc_src/cmds/string-sub.rst
+++ b/doc_src/cmds/string-sub.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string sub [(-s | --start) START] [(-l | --length) LENGTH]
+ [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-trim.rst b/doc_src/cmds/string-trim.rst
index 89832ac7a..16a67ab1a 100644
--- a/doc_src/cmds/string-trim.rst
+++ b/doc_src/cmds/string-trim.rst
@@ -6,8 +6,10 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string trim [-l | --left] [-r | --right] [(-c | --chars) CHARS]
+ [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string-upper.rst b/doc_src/cmds/string-upper.rst
index e8c7fe441..47f68fdf8 100644
--- a/doc_src/cmds/string-upper.rst
+++ b/doc_src/cmds/string-upper.rst
@@ -6,7 +6,9 @@ Synopsis
.. BEGIN SYNOPSIS
-``string`` upper [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string upper [-q | --quiet] [STRING ...]
.. END SYNOPSIS
diff --git a/doc_src/cmds/string.rst b/doc_src/cmds/string.rst
index b101d6e7a..15a853945 100644
--- a/doc_src/cmds/string.rst
+++ b/doc_src/cmds/string.rst
@@ -6,31 +6,33 @@ string - manipulate strings
Synopsis
--------
-| ``string`` collect [**-N** | **--no-trim-newlines**] [*STRING* ...]
-| ``string`` escape [**-n** | **--no-quoted**] [**--style=**] [*STRING* ...]
-| ``string`` join [**-q** | **--quiet**] SEP [*STRING* ...]
-| ``string`` join0 [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` length [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` lower [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` match [**-a** | **--all**] [**-e** | **--entire**] [**-i** | **--ignore-case**]
- \ [**-r** | **--regex**] [**-n** | **--index**] [**-q** | **--quiet**] [**-v** | **--invert**]
- \ *PATTERN* [*STRING* ...]
-| ``string`` pad [**-r** | **--right**] [**-c** | **--char** *CHAR*] [**-w** | **--width** *INTEGER*]
- \ [*STRING* ...]
-| ``string`` repeat [(**-n** | **--count**) *COUNT*] [(**-m** | **--max**) *MAX*] [**-N** | **--no-newline**]
- \ [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` replace [**-a** | **--all**] [**-f** | **--filter**] [**-i** | **--ignore-case**]
- \ [**-r** | **--regex**] [**-q** | **--quiet**] *PATTERN* *REPLACE* [*STRING* ...]
-| ``string`` split [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ [**-r** | **--right**] *SEP* [*STRING* ...]
-| ``string`` split0 [(**-m** | **--max**) *MAX*] [**-n** | **--no-empty**] [**-q** | **--quiet**]
- \ [**-r** | **--right**] [*STRING* ...]
-| ``string`` sub [(**-s** | **--start**) *START*] [(**-l** | **--length**) *LENGTH*]
- \ [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` trim [**-l** | **--left**] [**-r** | **--right**] [(**-c** | **--chars**) *CHARS*]
- \ [**-q** | **--quiet**] [*STRING* ...]
-| ``string`` unescape [**--style=**] [*STRING* ...]
-| ``string`` upper [**-q** | **--quiet**] [*STRING* ...]
+.. synopsis::
+
+ string collect [-N | --no-trim-newlines] [STRING ...]
+ string escape [-n | --no-quoted] [--style=] [STRING ...]
+ string join [-q | --quiet] SEP [STRING ...]
+ string join0 [-q | --quiet] [STRING ...]
+ string length [-q | --quiet] [STRING ...]
+ string lower [-q | --quiet] [STRING ...]
+ string match [-a | --all] [-e | --entire] [-i | --ignore-case]
+ [-r | --regex] [-n | --index] [-q | --quiet] [-v | --invert]
+ PATTERN [STRING ...]
+ string pad [-r | --right] [-c | --char CHAR] [-w | --width INTEGER]
+ [STRING ...]
+ string repeat [(-n | --count) COUNT] [(-m | --max) MAX] [-N | --no-newline]
+ [-q | --quiet] [STRING ...]
+ string replace [-a | --all] [-f | --filter] [-i | --ignore-case]
+ [-r | --regex] [-q | --quiet] PATTERN REPLACE [STRING ...]
+ string split [(-m | --max) MAX] [-n | --no-empty] [-q | --quiet]
+ [-r | --right] SEP [STRING ...]
+ string split0 [(-m | --max) MAX] [-n | --no-empty] [-q | --quiet]
+ [-r | --right] [STRING ...]
+ string sub [(-s | --start) START] [(-l | --length) LENGTH]
+ [-q | --quiet] [STRING ...]
+ string trim [-l | --left] [-r | --right] [(-c | --chars) CHARS]
+ [-q | --quiet] [STRING ...]
+ string unescape [--style=] [STRING ...]
+ string upper [-q | --quiet] [STRING ...]
Description
-----------
diff --git a/doc_src/cmds/suspend.rst b/doc_src/cmds/suspend.rst
index 093490bd6..853044b87 100644
--- a/doc_src/cmds/suspend.rst
+++ b/doc_src/cmds/suspend.rst
@@ -6,7 +6,9 @@ suspend - suspend the current shell
Synopsis
--------
-``suspend`` [**--force**]
+.. synopsis::
+
+ suspend [--force]
Description
-----------
diff --git a/doc_src/cmds/switch.rst b/doc_src/cmds/switch.rst
index 735b6ba40..4079501a7 100644
--- a/doc_src/cmds/switch.rst
+++ b/doc_src/cmds/switch.rst
@@ -6,7 +6,9 @@ switch - conditionally execute a block of commands
Synopsis
--------
-**switch** *VALUE*; [**case** [*GLOB* ...]; [*COMMANDS* ...]; ...] **end**
+.. synopsis::
+
+ switch VALUE; [case [GLOB ...]; [COMMANDS ...]; ...] end
Description
-----------
diff --git a/doc_src/cmds/test.rst b/doc_src/cmds/test.rst
index a1b44921b..10ff53472 100644
--- a/doc_src/cmds/test.rst
+++ b/doc_src/cmds/test.rst
@@ -6,8 +6,10 @@ test - perform tests on files and text
Synopsis
--------
-| ``test`` [*EXPRESSION*]
-| ``[`` [*EXPRESSION*] ]
+.. synopsis::
+
+ test [EXPRESSION]
+ [ [EXPRESSION] ]
Description
diff --git a/doc_src/cmds/time.rst b/doc_src/cmds/time.rst
index db2d73926..064f642fc 100644
--- a/doc_src/cmds/time.rst
+++ b/doc_src/cmds/time.rst
@@ -6,7 +6,9 @@ time - measure how long a command or block takes
Synopsis
--------
-**time** *COMMAND*
+.. synopsis::
+
+ time COMMAND
Description
-----------
diff --git a/doc_src/cmds/trap.rst b/doc_src/cmds/trap.rst
index 76603f8a9..117fb5974 100644
--- a/doc_src/cmds/trap.rst
+++ b/doc_src/cmds/trap.rst
@@ -6,7 +6,9 @@ trap - perform an action when the shell receives a signal
Synopsis
--------
-``trap`` [*options*] [[*ARG*] *REASON* ... ]
+.. synopsis::
+
+ trap [options] [[ARG] REASON ... ]
Description
-----------
diff --git a/doc_src/cmds/true.rst b/doc_src/cmds/true.rst
index 4010a9d73..9ffa1667f 100644
--- a/doc_src/cmds/true.rst
+++ b/doc_src/cmds/true.rst
@@ -6,7 +6,9 @@ true - return a successful result
Synopsis
--------
-``true``
+.. synopsis::
+
+ true
Description
-----------
diff --git a/doc_src/cmds/type.rst b/doc_src/cmds/type.rst
index 6d7b7d54a..45bc17bc0 100644
--- a/doc_src/cmds/type.rst
+++ b/doc_src/cmds/type.rst
@@ -6,7 +6,9 @@ type - locate a command and describe its type
Synopsis
--------
-``type`` [*options*] *NAME* [...]
+.. synopsis::
+
+ type [options] NAME [...]
Description
-----------
diff --git a/doc_src/cmds/ulimit.rst b/doc_src/cmds/ulimit.rst
index f34f644a8..7ad3cd00d 100644
--- a/doc_src/cmds/ulimit.rst
+++ b/doc_src/cmds/ulimit.rst
@@ -6,7 +6,9 @@ ulimit - set or get resource usage limits
Synopsis
--------
-``ulimit`` [**options**] [*limit*]
+.. synopsis::
+
+ ulimit [options] [limit]
Description
diff --git a/doc_src/cmds/umask.rst b/doc_src/cmds/umask.rst
index 442394bb9..a455024e7 100644
--- a/doc_src/cmds/umask.rst
+++ b/doc_src/cmds/umask.rst
@@ -6,7 +6,9 @@ umask - set or get the file creation mode mask
Synopsis
--------
-``umask`` [**options**] [*MASK*]
+.. synopsis::
+
+ umask [options] [MASK]
Description
diff --git a/doc_src/cmds/vared.rst b/doc_src/cmds/vared.rst
index 487ee7e56..0feda6108 100644
--- a/doc_src/cmds/vared.rst
+++ b/doc_src/cmds/vared.rst
@@ -6,7 +6,9 @@ vared - interactively edit the value of an environment variable
Synopsis
--------
-``vared`` *VARIABLE_NAME*
+.. synopsis::
+
+ vared VARIABLE_NAME
Description
-----------
diff --git a/doc_src/cmds/wait.rst b/doc_src/cmds/wait.rst
index 2bd1bf693..2144f5f58 100644
--- a/doc_src/cmds/wait.rst
+++ b/doc_src/cmds/wait.rst
@@ -6,7 +6,9 @@ wait - wait for jobs to complete
Synopsis
--------
-``wait`` [**-n** | **--any**] [*PID* | *PROCESS_NAME*] ...
+.. synopsis::
+
+ wait [-n | --any] [PID | PROCESS_NAME] ...
Description
-----------
diff --git a/doc_src/cmds/while.rst b/doc_src/cmds/while.rst
index eaa08ce11..7e0060536 100644
--- a/doc_src/cmds/while.rst
+++ b/doc_src/cmds/while.rst
@@ -6,7 +6,9 @@ while - perform a set of commands multiple times
Synopsis
--------
-**while** *CONDITION*; *COMMANDS*; **end**
+.. synopsis::
+
+ while CONDITION; COMMANDS; end
Description
-----------
diff --git a/doc_src/conf.py b/doc_src/conf.py
index 22708e950..fee3ace93 100644
--- a/doc_src/conf.py
+++ b/doc_src/conf.py
@@ -37,14 +37,17 @@ def issue_role(name, rawtext, text, lineno, inliner, options=None, content=None)
# -- Load our extensions -------------------------------------------------
def setup(app):
- # Our own pygments lexer
+ # Our own pygments lexers
from sphinx.highlighting import lexers
this_dir = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, this_dir)
from fish_indent_lexer import FishIndentLexer
+ from fish_synopsis import FishSynopsisDirective, FishSynopsisLexer
lexers["fish-docs-samples"] = FishIndentLexer()
+ lexers["fish-synopsis"] = FishSynopsisLexer()
+ app.add_directive("synopsis", FishSynopsisDirective)
app.add_config_value("issue_url", default=None, rebuild="html")
app.add_role("issue", issue_role)
diff --git a/doc_src/fish_synopsis.py b/doc_src/fish_synopsis.py
new file mode 100644
index 000000000..51df271e1
--- /dev/null
+++ b/doc_src/fish_synopsis.py
@@ -0,0 +1,158 @@
+# Pygments lexer for a fish command synopsis.
+#
+# Example usage:
+# echo 'string match [OPTIONS] [STRING]' | pygmentize -f terminal256 -l doc_src/fish_synopsis.py:FishSynopsisLexer -x
+
+from docutils import nodes
+from pygments.lexer import Lexer
+from pygments.token import (
+ Generic,
+ Name,
+ Operator,
+ Punctuation,
+ Text,
+)
+import re
+from sphinx.directives.code import CodeBlock
+
+
+class FishSynopsisDirective(CodeBlock):
+ """A custom directive that describes a command's grammar."""
+
+ has_content = True
+ required_arguments = 0
+
+ def run(self):
+ if self.env.app.builder.name != "man":
+ self.arguments = ["fish-synopsis"]
+ return CodeBlock.run(self)
+ lexer = FishSynopsisLexer()
+ result = nodes.line_block()
+ for (start, tok, text) in lexer.get_tokens_unprocessed("\n".join(self.content)):
+ if ( # Literal text.
+ (tok in (Name.Function, Name.Constant) and not text.isupper())
+ or text.startswith("-") # Literal option, even if it's uppercase.
+ or tok in (Operator, Punctuation)
+ or text
+ == " ]" # Tiny hack: the closing bracket of the test(1) alias is a literal.
+ ):
+ node = nodes.strong(text=text)
+ elif (
+ tok in (Name.Constant, Name.Function) and text.isupper()
+ ): # Placeholder parameter.
+ node = nodes.emphasis(text=text)
+ else: # Grammar metacharacter or whitespace.
+ node = nodes.inline(text=text)
+ result.append(node)
+ return [result]
+
+
+lexer_rules = [
+ (re.compile(pattern), token)
+ for pattern, token in (
+ # Hack: treat the "[ expr ]" alias of builtin test as command token (not as grammar
+ # metacharacter). This works because we write it without spaces in the grammar (like
+ # "[OPTIONS]").
+ (r"\[ | \]", Name.Constant),
+ # Statement separators.
+ (r"\n", Text.Whitespace),
+ (r";", Punctuation),
+ (r" +", Text.Whitespace),
+ # Operators have different highlighting than commands or parameters.
+ (r"\b(and|not|or|time)\b", Operator),
+ # Keywords that are not in command position.
+ (r"\b(if|in)\b", Name.Function),
+ # Grammar metacharacters.
+ (r"[()[\]|]", Generic.Other),
+ (r"\.\.\.", Generic.Other),
+ # Parameters.
+ (r"[\w-]+", Name.Constant),
+ (r"[=%]", Name.Constant),
+ (
+ r"[<>]",
+ Name.Constant,
+ ), # Redirection are highlighted like parameters by default.
+ )
+]
+
+
+class FishSynopsisLexer(Lexer):
+ name = "FishSynopsisLexer"
+ aliases = ["fish-synopsis"]
+
+ is_before_command_token = None
+
+ def next_token(self, rule: str, offset: int, has_continuation_line: bool):
+ for pattern, token_kind in lexer_rules:
+ m = pattern.match(rule, pos=offset)
+ if m is None:
+ continue
+ if token_kind is Name.Constant and self.is_before_command_token:
+ token_kind = Name.Function
+
+ if has_continuation_line:
+ # Traditional case: rules with continuation lines only have a single command.
+ self.is_before_command_token = False
+ else:
+ if m.group() in ("\n", ";") or token_kind is Operator:
+ self.is_before_command_token = True
+ elif token_kind in (Name.Constant, Name.Function):
+ self.is_before_command_token = False
+
+ return m, token_kind, m.end()
+ return None, None, offset
+
+ def get_tokens_unprocessed(self, input_text):
+ """Return a list of (start, tok, value) tuples.
+
+ start is the index into the string
+ tok is the token type (as above)
+ value is the string contents of the token
+ """
+ """
+ A synopsis consists of multiple rules. Each rule can have continuation lines, which
+ are expected to be indented:
+
+ cmd foo [--quux]
+ [ARGUMENT] ...
+ cmd bar
+
+ We'll split the input into rules. This is easy for a traditional synopsis because each
+ non-indented line starts a new rule. However, we also want to support code blocks:
+
+ switch VALUE
+ [case [GLOB ...]
+ [COMMAND ...]]
+ end
+
+ which makes this format ambiguous. Hack around this by always adding "end" to the
+ current rule, which is enough in practice.
+ """
+ rules = []
+ rule = []
+ for line in list(input_text.splitlines()) + [""]:
+ if rule and not line.startswith(" "):
+ rules.append(rule)
+ rule = []
+ if line == "end":
+ rules[-1].append(line)
+ continue
+ rule.append(line)
+ result = []
+ for rule in rules:
+ offset = 0
+ self.is_before_command_token = True
+ has_continuation_line = rule[-1].startswith(" ")
+ rule = "\n".join(rule) + "\n"
+ while True:
+ match, token_kind, offset = self.next_token(
+ rule, offset, has_continuation_line
+ )
+ if match is None:
+ break
+ text = match.group()
+ result.append((match.start(), token_kind, text))
+ assert offset == len(rule), "cannot tokenize leftover text: '{}'".format(
+ rule[offset:]
+ )
+ return result
From 2a98b7a5939c636d0f78be03faa5ce05e7be50ba Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger
Date: Mon, 17 Jan 2022 05:29:49 +0100
Subject: [PATCH 037/262] docs synopsis: make all placeholder arguments
uppercase
man(1) uses lowercase placeholders but we usually don't. Additionally,
the new synopsis autoformatting only recognizes placeholders if they
are uppercase. Use uppercase for all placeholders.
---
doc_src/cmds/break.rst | 2 +-
doc_src/cmds/complete.rst | 2 +-
doc_src/cmds/contains.rst | 2 +-
doc_src/cmds/count.rst | 4 ++--
doc_src/cmds/echo.rst | 2 +-
doc_src/cmds/exit.rst | 4 ++--
doc_src/cmds/fish_add_path.rst | 2 +-
doc_src/cmds/fish_opt.rst | 2 +-
doc_src/cmds/history.rst | 2 +-
doc_src/cmds/not.rst | 2 +-
doc_src/cmds/read.rst | 2 +-
doc_src/cmds/realpath.rst | 2 +-
doc_src/cmds/return.rst | 4 ++--
doc_src/cmds/set.rst | 12 ++++++------
doc_src/cmds/source.rst | 4 ++--
doc_src/cmds/trap.rst | 2 +-
doc_src/cmds/type.rst | 2 +-
doc_src/cmds/ulimit.rst | 2 +-
doc_src/cmds/umask.rst | 2 +-
19 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/doc_src/cmds/break.rst b/doc_src/cmds/break.rst
index b625caa76..e05a3341a 100644
--- a/doc_src/cmds/break.rst
+++ b/doc_src/cmds/break.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- loop_construct
+ LOOP_CONSTRUCT
[COMMANDS ...]
break
[COMMANDS ...]
diff --git a/doc_src/cmds/complete.rst b/doc_src/cmds/complete.rst
index 501dbe1c0..8cd617ef3 100644
--- a/doc_src/cmds/complete.rst
+++ b/doc_src/cmds/complete.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- complete ((-c | --command) | (-p | --path)) COMMAND [options]
+ complete ((-c | --command) | (-p | --path)) COMMAND [OPTIONS]
complete ((-C | --do-complete)) STRING
Description
diff --git a/doc_src/cmds/contains.rst b/doc_src/cmds/contains.rst
index 7d79238c5..8a59ec982 100644
--- a/doc_src/cmds/contains.rst
+++ b/doc_src/cmds/contains.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- contains [options] KEY [VALUES ...]
+ contains [OPTIONS] KEY [VALUES ...]
Description
-----------
diff --git a/doc_src/cmds/count.rst b/doc_src/cmds/count.rst
index cda64bd3c..657dc8467 100644
--- a/doc_src/cmds/count.rst
+++ b/doc_src/cmds/count.rst
@@ -8,8 +8,8 @@ Synopsis
.. synopsis::
- count string1 string2 ...
- command | count
+ count STRING1 STRING2 ...
+ COMMAND | count
count [...] < FILE
Description
diff --git a/doc_src/cmds/echo.rst b/doc_src/cmds/echo.rst
index 9fb0adb05..f8bf8bd24 100644
--- a/doc_src/cmds/echo.rst
+++ b/doc_src/cmds/echo.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- echo [options] [STRING]
+ echo [OPTIONS] [STRING]
Description
-----------
diff --git a/doc_src/cmds/exit.rst b/doc_src/cmds/exit.rst
index f3f481c9a..d830da1bd 100644
--- a/doc_src/cmds/exit.rst
+++ b/doc_src/cmds/exit.rst
@@ -9,12 +9,12 @@ Synopsis
.. synopsis::
- exit [code]
+ exit [CODE]
Description
-----------
-**exit** is a special builtin that causes the shell to exit. Either 255 or the *code* supplied is used, whichever is lesser.
+**exit** is a special builtin that causes the shell to exit. Either 255 or the *CODE* supplied is used, whichever is lesser.
Otherwise, the exit status will be that of the last command executed.
If exit is called while sourcing a file (using the :ref:`source ` builtin) the rest of the file will be skipped, but the shell itself will not exit.
diff --git a/doc_src/cmds/fish_add_path.rst b/doc_src/cmds/fish_add_path.rst
index 9fedec533..a8b19b18e 100644
--- a/doc_src/cmds/fish_add_path.rst
+++ b/doc_src/cmds/fish_add_path.rst
@@ -10,7 +10,7 @@ Synopsis
.. synopsis::
fish_add_path path ...
- fish_add_path [(-g | --global) | (-U | --universal) | (-P | --path)] [(-m | --move)] [(-a | --append) | (-p | --prepend)] [(-v | --verbose) | (-n | --dry-run)] paths ...
+ fish_add_path [(-g | --global) | (-U | --universal) | (-P | --path)] [(-m | --move)] [(-a | --append) | (-p | --prepend)] [(-v | --verbose) | (-n | --dry-run)] PATHS ...
Description
diff --git a/doc_src/cmds/fish_opt.rst b/doc_src/cmds/fish_opt.rst
index 140c5aaf2..80867648c 100644
--- a/doc_src/cmds/fish_opt.rst
+++ b/doc_src/cmds/fish_opt.rst
@@ -9,7 +9,7 @@ Synopsis
.. synopsis::
fish_opt [--help]
- fish_opt [(-slor | --multiple-vals=) optname]
+ fish_opt [(-slor | --multiple-vals=) OPTNAME]
Description
-----------
diff --git a/doc_src/cmds/history.rst b/doc_src/cmds/history.rst
index cb4b36cbb..725d0e0ac 100644
--- a/doc_src/cmds/history.rst
+++ b/doc_src/cmds/history.rst
@@ -9,7 +9,7 @@ Synopsis
.. synopsis::
history [search] [--show-time] [--case-sensitive]
- [--exact | --prefix | --contains] [--max n] [--null] [--reverse]
+ [--exact | --prefix | --contains] [--max N] [--null] [--reverse]
[SEARCH_STRING ...]
history delete [--case-sensitive]
[--exact | --prefix | --contains] SEARCH_STRING ...
diff --git a/doc_src/cmds/not.rst b/doc_src/cmds/not.rst
index 6e7a9c375..b99c55a73 100644
--- a/doc_src/cmds/not.rst
+++ b/doc_src/cmds/not.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- not COMMAND [options ...]
+ not COMMAND [OPTIONS ...]
Description
diff --git a/doc_src/cmds/read.rst b/doc_src/cmds/read.rst
index 1978ece47..3ac9c7298 100644
--- a/doc_src/cmds/read.rst
+++ b/doc_src/cmds/read.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- read [options] [VARIABLE ...]
+ read [OPTIONS] [VARIABLE ...]
Description
-----------
diff --git a/doc_src/cmds/realpath.rst b/doc_src/cmds/realpath.rst
index 3bf603246..92a624781 100644
--- a/doc_src/cmds/realpath.rst
+++ b/doc_src/cmds/realpath.rst
@@ -9,7 +9,7 @@ Synopsis
.. synopsis::
- realpath [options] PATH
+ realpath [OPTIONS] PATH
Description
-----------
diff --git a/doc_src/cmds/return.rst b/doc_src/cmds/return.rst
index 405336f09..307d5dafc 100644
--- a/doc_src/cmds/return.rst
+++ b/doc_src/cmds/return.rst
@@ -9,13 +9,13 @@ Synopsis
.. synopsis::
- return [n]
+ return [N]
Description
-----------
:program:`return` halts a currently running function.
-The exit status is set to ``n`` if it is given.
+The exit status is set to ``N`` if it is given.
If :program:`return` is invoked outside of a function or dot script it is equivalent to exit.
It is often added inside of a conditional block such as an :ref:`if ` statement or a :ref:`switch ` statement to conditionally stop the executing function and return to the caller; it can also be used to specify the exit status of a function.
diff --git a/doc_src/cmds/set.rst b/doc_src/cmds/set.rst
index b5363c2e1..256275a41 100644
--- a/doc_src/cmds/set.rst
+++ b/doc_src/cmds/set.rst
@@ -8,12 +8,12 @@ Synopsis
.. synopsis::
- set [scope options]
- set [options] VARIABLE VALUES ...
- set [options] VARIABLE[INDICES] VALUES ...
- set (-q | --query) [scope options] VARIABLE ...
- set (-e | --erase) [scope options] VARIABLE ...
- set (-e | --erase) [scope options] VARIABLE[INDICES] ...
+ set [SCOPE_OPTIONS]
+ set [OPTIONS] VARIABLE VALUES ...
+ set [OPTIONS] VARIABLE[INDICES] VALUES ...
+ set (-q | --query) [SCOPE_OPTIONS] VARIABLE ...
+ set (-e | --erase) [SCOPE_OPTIONS] VARIABLE ...
+ set (-e | --erase) [SCOPE_OPTIONS] VARIABLE[INDICES] ...
set (-S | --show) VARIABLE ...
Description
diff --git a/doc_src/cmds/source.rst b/doc_src/cmds/source.rst
index 25fe67f9f..1a0092c3c 100644
--- a/doc_src/cmds/source.rst
+++ b/doc_src/cmds/source.rst
@@ -8,8 +8,8 @@ Synopsis
.. synopsis::
- source FILE [arguments ...]
- somecommand | source
+ source FILE [ARGUMENTS ...]
+ SOMECOMMAND | source
Description
diff --git a/doc_src/cmds/trap.rst b/doc_src/cmds/trap.rst
index 117fb5974..ae08e231a 100644
--- a/doc_src/cmds/trap.rst
+++ b/doc_src/cmds/trap.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- trap [options] [[ARG] REASON ... ]
+ trap [OPTIONS] [[ARG] REASON ... ]
Description
-----------
diff --git a/doc_src/cmds/type.rst b/doc_src/cmds/type.rst
index 45bc17bc0..9d971f274 100644
--- a/doc_src/cmds/type.rst
+++ b/doc_src/cmds/type.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- type [options] NAME [...]
+ type [OPTIONS] NAME [...]
Description
-----------
diff --git a/doc_src/cmds/ulimit.rst b/doc_src/cmds/ulimit.rst
index 7ad3cd00d..bce1c4731 100644
--- a/doc_src/cmds/ulimit.rst
+++ b/doc_src/cmds/ulimit.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- ulimit [options] [limit]
+ ulimit [OPTIONS] [LIMIT]
Description
diff --git a/doc_src/cmds/umask.rst b/doc_src/cmds/umask.rst
index a455024e7..b6a1e9860 100644
--- a/doc_src/cmds/umask.rst
+++ b/doc_src/cmds/umask.rst
@@ -8,7 +8,7 @@ Synopsis
.. synopsis::
- umask [options] [MASK]
+ umask [OPTIONS] [MASK]
Description
From 24f9fdd0a794aa86e81684cd53b1948ce311dd17 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Wed, 19 Jan 2022 17:23:23 +0100
Subject: [PATCH 038/262] themes/default: Set pager selection to reverse
This makes it look okay on both light and dark backgrounds.
---
share/functions/__fish_config_interactive.fish | 1 +
share/tools/web_config/themes/fish default.theme | 1 +
2 files changed, 2 insertions(+)
diff --git a/share/functions/__fish_config_interactive.fish b/share/functions/__fish_config_interactive.fish
index 15da77741..d148dc280 100644
--- a/share/functions/__fish_config_interactive.fish
+++ b/share/functions/__fish_config_interactive.fish
@@ -66,6 +66,7 @@ function __fish_config_interactive -d "Initializations that should be performed
__init_uvar fish_pager_color_completion
__init_uvar fish_pager_color_description B3A06D yellow
__init_uvar fish_pager_color_progress brwhite --background=cyan
+ __init_uvar fish_pager_color_selected_background -r
#
# Directory history colors
diff --git a/share/tools/web_config/themes/fish default.theme b/share/tools/web_config/themes/fish default.theme
index 075d9c308..c62480492 100644
--- a/share/tools/web_config/themes/fish default.theme
+++ b/share/tools/web_config/themes/fish default.theme
@@ -25,5 +25,6 @@ fish_pager_color_description B3A06D yellow
fish_color_cancel -r
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background -r
fish_color_option 00afff
fish_color_keyword 005fd7
From 9d59254a720925ed3ea8036408da317c64c6e523 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Wed, 19 Jan 2022 17:54:59 +0100
Subject: [PATCH 039/262] themes: Resolve pager_selected_background
This sets the variable to the background value of
$fish_color_search_match, which fixes the case where you switch from a
theme with a set selected background (like our default, now) to one without.
---
share/tools/web_config/themes/Base16 Default Dark.theme | 1 +
share/tools/web_config/themes/Base16 Default Light.theme | 1 +
share/tools/web_config/themes/Base16 Eighties.theme | 1 +
share/tools/web_config/themes/Bay Cruise.theme | 1 +
share/tools/web_config/themes/Dracula.theme | 1 +
share/tools/web_config/themes/Fairground.theme | 1 +
share/tools/web_config/themes/Just a Touch.theme | 1 +
share/tools/web_config/themes/Lava.theme | 1 +
share/tools/web_config/themes/Mono Lace.theme | 1 +
share/tools/web_config/themes/Mono Smoke.theme | 1 +
share/tools/web_config/themes/Nord.theme | 1 +
share/tools/web_config/themes/Old School.theme | 1 +
share/tools/web_config/themes/Seaweed.theme | 1 +
share/tools/web_config/themes/Snow Day.theme | 1 +
share/tools/web_config/themes/Solarized Dark.theme | 1 +
share/tools/web_config/themes/Solarized Light.theme | 1 +
share/tools/web_config/themes/Tomorrow Night Bright.theme | 1 +
share/tools/web_config/themes/Tomorrow Night.theme | 1 +
share/tools/web_config/themes/Tomorrow.theme | 1 +
share/tools/web_config/themes/ayu Dark.theme | 1 +
share/tools/web_config/themes/ayu Light.theme | 1 +
share/tools/web_config/themes/ayu Mirage.theme | 1 +
22 files changed, 22 insertions(+)
diff --git a/share/tools/web_config/themes/Base16 Default Dark.theme b/share/tools/web_config/themes/Base16 Default Dark.theme
index f6c5e8e59..c4f64e583 100644
--- a/share/tools/web_config/themes/Base16 Default Dark.theme
+++ b/share/tools/web_config/themes/Base16 Default Dark.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option d8d8d8
fish_color_keyword a1b56c
diff --git a/share/tools/web_config/themes/Base16 Default Light.theme b/share/tools/web_config/themes/Base16 Default Light.theme
index cb19839b6..734d09b92 100644
--- a/share/tools/web_config/themes/Base16 Default Light.theme
+++ b/share/tools/web_config/themes/Base16 Default Light.theme
@@ -27,5 +27,6 @@ fish_pager_color_description B3A06D yellow
fish_pager_color_completion normal
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 383838
fish_color_keyword a1b56c
diff --git a/share/tools/web_config/themes/Base16 Eighties.theme b/share/tools/web_config/themes/Base16 Eighties.theme
index 283b29866..a70c306f9 100644
--- a/share/tools/web_config/themes/Base16 Eighties.theme
+++ b/share/tools/web_config/themes/Base16 Eighties.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option d3d0c8
fish_color_keyword 99cc99
diff --git a/share/tools/web_config/themes/Bay Cruise.theme b/share/tools/web_config/themes/Bay Cruise.theme
index e4a742609..b2397b4d5 100644
--- a/share/tools/web_config/themes/Bay Cruise.theme
+++ b/share/tools/web_config/themes/Bay Cruise.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 33CCCC
fish_color_keyword 009999
diff --git a/share/tools/web_config/themes/Dracula.theme b/share/tools/web_config/themes/Dracula.theme
index 45bcc0f48..e7cd77930 100644
--- a/share/tools/web_config/themes/Dracula.theme
+++ b/share/tools/web_config/themes/Dracula.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option FF79C6
fish_color_keyword F8F8F2
diff --git a/share/tools/web_config/themes/Fairground.theme b/share/tools/web_config/themes/Fairground.theme
index 0c0b10694..4d570d684 100644
--- a/share/tools/web_config/themes/Fairground.theme
+++ b/share/tools/web_config/themes/Fairground.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_prefix normal --bold --underline
fish_pager_color_description B3A06D yellow
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 225E79
fish_color_keyword 0772A1
diff --git a/share/tools/web_config/themes/Just a Touch.theme b/share/tools/web_config/themes/Just a Touch.theme
index 3f3689de3..72f511f0a 100644
--- a/share/tools/web_config/themes/Just a Touch.theme
+++ b/share/tools/web_config/themes/Just a Touch.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option A0A0F0
fish_color_keyword F4F4F4
diff --git a/share/tools/web_config/themes/Lava.theme b/share/tools/web_config/themes/Lava.theme
index 9cf97843a..31bf8c730 100644
--- a/share/tools/web_config/themes/Lava.theme
+++ b/share/tools/web_config/themes/Lava.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option FFC000
fish_color_keyword FF9400
diff --git a/share/tools/web_config/themes/Mono Lace.theme b/share/tools/web_config/themes/Mono Lace.theme
index 6e4b2466b..2155fc7b0 100644
--- a/share/tools/web_config/themes/Mono Lace.theme
+++ b/share/tools/web_config/themes/Mono Lace.theme
@@ -26,5 +26,6 @@ fish_color_cancel -r
fish_pager_color_completion normal
fish_pager_color_progress brwhite --background=cyan
fish_pager_color_description B3A06D yellow
+fish_pager_color_selected_background --background=brblack
fish_color_option 303030
fish_color_keyword 000000
diff --git a/share/tools/web_config/themes/Mono Smoke.theme b/share/tools/web_config/themes/Mono Smoke.theme
index fd43489a6..72052d7a4 100644
--- a/share/tools/web_config/themes/Mono Smoke.theme
+++ b/share/tools/web_config/themes/Mono Smoke.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option d7d7d7
fish_color_keyword ffffff
diff --git a/share/tools/web_config/themes/Nord.theme b/share/tools/web_config/themes/Nord.theme
index 797927abe..6daf1d9ec 100644
--- a/share/tools/web_config/themes/Nord.theme
+++ b/share/tools/web_config/themes/Nord.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_prefix normal --bold --underline
fish_pager_color_description B3A06D yellow
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option eceff4
fish_color_keyword 81a1c1
diff --git a/share/tools/web_config/themes/Old School.theme b/share/tools/web_config/themes/Old School.theme
index f2b2a1b78..06acb565f 100644
--- a/share/tools/web_config/themes/Old School.theme
+++ b/share/tools/web_config/themes/Old School.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 30BE30
fish_color_keyword 00FF00
diff --git a/share/tools/web_config/themes/Seaweed.theme b/share/tools/web_config/themes/Seaweed.theme
index 42976649d..ca7d294cf 100644
--- a/share/tools/web_config/themes/Seaweed.theme
+++ b/share/tools/web_config/themes/Seaweed.theme
@@ -26,5 +26,6 @@ fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_completion normal
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 04819E
fish_color_keyword 00BF32
diff --git a/share/tools/web_config/themes/Snow Day.theme b/share/tools/web_config/themes/Snow Day.theme
index b2b5889d9..289632ee4 100644
--- a/share/tools/web_config/themes/Snow Day.theme
+++ b/share/tools/web_config/themes/Snow Day.theme
@@ -26,5 +26,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 4319CC
fish_color_keyword 164CC9
diff --git a/share/tools/web_config/themes/Solarized Dark.theme b/share/tools/web_config/themes/Solarized Dark.theme
index 263b3389a..f05744d93 100644
--- a/share/tools/web_config/themes/Solarized Dark.theme
+++ b/share/tools/web_config/themes/Solarized Dark.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion B3A06D
fish_pager_color_description B3A06D
fish_pager_color_prefix cyan --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 839496
fish_color_keyword 93a1a1
diff --git a/share/tools/web_config/themes/Solarized Light.theme b/share/tools/web_config/themes/Solarized Light.theme
index abbef71f9..aa7cc0417 100644
--- a/share/tools/web_config/themes/Solarized Light.theme
+++ b/share/tools/web_config/themes/Solarized Light.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion green
fish_pager_color_description B3A06D
fish_pager_color_prefix cyan --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=white
fish_color_option 657b83
fish_color_keyword 586e75
diff --git a/share/tools/web_config/themes/Tomorrow Night Bright.theme b/share/tools/web_config/themes/Tomorrow Night Bright.theme
index 4ddb2bef8..fbe1d056c 100644
--- a/share/tools/web_config/themes/Tomorrow Night Bright.theme
+++ b/share/tools/web_config/themes/Tomorrow Night Bright.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 7aa6da
fish_color_keyword c397d8
diff --git a/share/tools/web_config/themes/Tomorrow Night.theme b/share/tools/web_config/themes/Tomorrow Night.theme
index 17ef24a88..a52da6313 100644
--- a/share/tools/web_config/themes/Tomorrow Night.theme
+++ b/share/tools/web_config/themes/Tomorrow Night.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 81a2be
fish_color_keyword b294bb
diff --git a/share/tools/web_config/themes/Tomorrow.theme b/share/tools/web_config/themes/Tomorrow.theme
index 494426ea3..27353fd83 100644
--- a/share/tools/web_config/themes/Tomorrow.theme
+++ b/share/tools/web_config/themes/Tomorrow.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_color_cancel -r
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=brblack
fish_color_option 4271ae
fish_color_keyword 8959a8
diff --git a/share/tools/web_config/themes/ayu Dark.theme b/share/tools/web_config/themes/ayu Dark.theme
index fe1b93bc1..9cd7eeb33 100644
--- a/share/tools/web_config/themes/ayu Dark.theme
+++ b/share/tools/web_config/themes/ayu Dark.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=E6B450
fish_color_option B3B1AD
fish_color_keyword 39BAE6
diff --git a/share/tools/web_config/themes/ayu Light.theme b/share/tools/web_config/themes/ayu Light.theme
index 52457b88c..1c4448d0b 100644
--- a/share/tools/web_config/themes/ayu Light.theme
+++ b/share/tools/web_config/themes/ayu Light.theme
@@ -27,5 +27,6 @@ fish_pager_color_description B3A06D yellow
fish_pager_color_completion normal
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=FF9940
fish_color_option 575F66
fish_color_keyword 55B4D4
diff --git a/share/tools/web_config/themes/ayu Mirage.theme b/share/tools/web_config/themes/ayu Mirage.theme
index bbeb79da2..2b891f0da 100644
--- a/share/tools/web_config/themes/ayu Mirage.theme
+++ b/share/tools/web_config/themes/ayu Mirage.theme
@@ -27,5 +27,6 @@ fish_pager_color_completion normal
fish_pager_color_description B3A06D yellow
fish_pager_color_prefix normal --bold --underline
fish_pager_color_progress brwhite --background=cyan
+fish_pager_color_selected_background --background=FFCC66
fish_color_option CBCCC6
fish_color_keyword 5CCFE6
From 398f3213d2dc92b3ed27275b36b01fcfba2017ac Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Wed, 19 Jan 2022 11:38:30 -0800
Subject: [PATCH 040/262] Remove CheckIncludeFiles.cmake
We apparently vendored it for the sake of attempting to support
old cmake versions:
7aefaff2980ccebb6dcab895d23a87f2d13f086b.
"This file can be dropped once the minimum version of CMake for fish is 3.11.0"
So, drop it like it's hot.
---
cmake/CheckIncludeFiles.cmake | 123 ----------------------------------
1 file changed, 123 deletions(-)
delete mode 100644 cmake/CheckIncludeFiles.cmake
diff --git a/cmake/CheckIncludeFiles.cmake b/cmake/CheckIncludeFiles.cmake
deleted file mode 100644
index c7fc2b5de..000000000
--- a/cmake/CheckIncludeFiles.cmake
+++ /dev/null
@@ -1,123 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License. See full license information in
-# doc_src/license.hdr or https://cmake.org/licensing for details.
-
-#.rst:
-# CheckIncludeFiles
-# -----------------
-#
-# Provides a macro to check if a list of one or more header files can
-# be included together in ``C``.
-#
-# .. command:: CHECK_INCLUDE_FILES
-#
-# ::
-#
-# CHECK_INCLUDE_FILES("" [LANGUAGE ])
-#
-# Check if the given ```` list may be included together
-# in a ``C`` source file and store the result in an internal cache
-# entry named ````. Specify the ```` argument
-# as a :ref:`;-list ` of header file names.
-#
-# If LANGUAGE is set, the specified compiler will be used to perform the
-# check. Acceptable values are C and CXX.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ``CMAKE_REQUIRED_FLAGS``
-# string of compile command line flags
-# ``CMAKE_REQUIRED_DEFINITIONS``
-# list of macros to define (-DFOO=bar)
-# ``CMAKE_REQUIRED_INCLUDES``
-# list of include directories
-# ``CMAKE_REQUIRED_QUIET``
-# execute quietly without messages
-#
-# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX`
-# to check for a single header file in ``C`` or ``CXX`` languages.
-
-macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
- if(NOT DEFINED "${VARIABLE}")
- set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
-
- if("x${ARGN}" STREQUAL "x")
- if(CMAKE_C_COMPILER_LOADED)
- set(_lang C)
- elseif(CMAKE_CXX_COMPILER_LOADED)
- set(_lang CXX)
- else()
- message(FATAL_ERROR "CHECK_INCLUDE_FILES needs either C or CXX language enabled")
- endif()
- elseif("x${ARGN}" MATCHES "^xLANGUAGE;([a-zA-Z]+)$")
- set(_lang "${CMAKE_MATCH_1}")
- else()
- message(FATAL_ERROR "Unknown arguments:\n ${ARGN}\n")
- endif()
-
- if(_lang STREQUAL "C")
- set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.c)
- elseif(_lang STREQUAL "CXX")
- set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.cpp)
- else()
- message(FATAL_ERROR "Unknown language:\n ${_lang}\nSupported languages: C, CXX.\n")
- endif()
-
- if(CMAKE_REQUIRED_INCLUDES)
- set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
- else()
- set(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
- endif()
- set(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
- set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
- foreach(FILE ${INCLUDE})
- string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
- "#include <${FILE}>\n")
- endforeach()
- string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
- "\n\nint main(void){return 0;}\n")
- configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
- "${src}" @ONLY)
-
- set(_INCLUDE ${INCLUDE}) # remove empty elements
- if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
- list(LENGTH _INCLUDE _INCLUDE_LEN)
- set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
- elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
- set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
- else()
- set(_description "include file ${_INCLUDE}")
- endif()
-
- if(NOT CMAKE_REQUIRED_QUIET)
- message(STATUS "Looking for ${_description}")
- endif()
- try_compile(${VARIABLE}
- ${CMAKE_BINARY_DIR}
- ${src}
- COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS
- -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS}
- "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}"
- OUTPUT_VARIABLE OUTPUT)
- if(${VARIABLE})
- if(NOT CMAKE_REQUIRED_QUIET)
- message(STATUS "Looking for ${_description} - found")
- endif()
- set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if files ${INCLUDE} "
- "exist passed with the following output:\n"
- "${OUTPUT}\n\n")
- else()
- if(NOT CMAKE_REQUIRED_QUIET)
- message(STATUS "Looking for ${_description} - not found")
- endif()
- set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if files ${INCLUDE} "
- "exist failed with the following output:\n"
- "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
- endif()
- endif()
-endmacro()
From 401d302179df648a837ec24d7734ef2db5a9c744 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Wed, 19 Jan 2022 11:41:16 -0800
Subject: [PATCH 041/262] :Revert "Remove CheckIncludeFiles.cmake"
This reverts commit 398f3213d2dc92b3ed27275b36b01fcfba2017ac.
---
cmake/CheckIncludeFiles.cmake | 123 ++++++++++++++++++++++++++++++++++
1 file changed, 123 insertions(+)
create mode 100644 cmake/CheckIncludeFiles.cmake
diff --git a/cmake/CheckIncludeFiles.cmake b/cmake/CheckIncludeFiles.cmake
new file mode 100644
index 000000000..c7fc2b5de
--- /dev/null
+++ b/cmake/CheckIncludeFiles.cmake
@@ -0,0 +1,123 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See full license information in
+# doc_src/license.hdr or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckIncludeFiles
+# -----------------
+#
+# Provides a macro to check if a list of one or more header files can
+# be included together in ``C``.
+#
+# .. command:: CHECK_INCLUDE_FILES
+#
+# ::
+#
+# CHECK_INCLUDE_FILES("" [LANGUAGE ])
+#
+# Check if the given ```` list may be included together
+# in a ``C`` source file and store the result in an internal cache
+# entry named ````. Specify the ```` argument
+# as a :ref:`;-list ` of header file names.
+#
+# If LANGUAGE is set, the specified compiler will be used to perform the
+# check. Acceptable values are C and CXX.
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ``CMAKE_REQUIRED_FLAGS``
+# string of compile command line flags
+# ``CMAKE_REQUIRED_DEFINITIONS``
+# list of macros to define (-DFOO=bar)
+# ``CMAKE_REQUIRED_INCLUDES``
+# list of include directories
+# ``CMAKE_REQUIRED_QUIET``
+# execute quietly without messages
+#
+# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX`
+# to check for a single header file in ``C`` or ``CXX`` languages.
+
+macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
+ if(NOT DEFINED "${VARIABLE}")
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+
+ if("x${ARGN}" STREQUAL "x")
+ if(CMAKE_C_COMPILER_LOADED)
+ set(_lang C)
+ elseif(CMAKE_CXX_COMPILER_LOADED)
+ set(_lang CXX)
+ else()
+ message(FATAL_ERROR "CHECK_INCLUDE_FILES needs either C or CXX language enabled")
+ endif()
+ elseif("x${ARGN}" MATCHES "^xLANGUAGE;([a-zA-Z]+)$")
+ set(_lang "${CMAKE_MATCH_1}")
+ else()
+ message(FATAL_ERROR "Unknown arguments:\n ${ARGN}\n")
+ endif()
+
+ if(_lang STREQUAL "C")
+ set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.c)
+ elseif(_lang STREQUAL "CXX")
+ set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.cpp)
+ else()
+ message(FATAL_ERROR "Unknown language:\n ${_lang}\nSupported languages: C, CXX.\n")
+ endif()
+
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ else()
+ set(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
+ endif()
+ set(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
+ set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ foreach(FILE ${INCLUDE})
+ string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+ "#include <${FILE}>\n")
+ endforeach()
+ string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+ "\n\nint main(void){return 0;}\n")
+ configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+ "${src}" @ONLY)
+
+ set(_INCLUDE ${INCLUDE}) # remove empty elements
+ if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
+ list(LENGTH _INCLUDE _INCLUDE_LEN)
+ set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
+ elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
+ set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
+ else()
+ set(_description "include file ${_INCLUDE}")
+ endif()
+
+ if(NOT CMAKE_REQUIRED_QUIET)
+ message(STATUS "Looking for ${_description}")
+ endif()
+ try_compile(${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ ${src}
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ CMAKE_FLAGS
+ -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS}
+ "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}"
+ OUTPUT_VARIABLE OUTPUT)
+ if(${VARIABLE})
+ if(NOT CMAKE_REQUIRED_QUIET)
+ message(STATUS "Looking for ${_description} - found")
+ endif()
+ set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if files ${INCLUDE} "
+ "exist passed with the following output:\n"
+ "${OUTPUT}\n\n")
+ else()
+ if(NOT CMAKE_REQUIRED_QUIET)
+ message(STATUS "Looking for ${_description} - not found")
+ endif()
+ set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if files ${INCLUDE} "
+ "exist failed with the following output:\n"
+ "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
+ endif()
+ endif()
+endmacro()
From 87ce31771665d44238a542e586cc85d0a20eb09c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Wed, 19 Jan 2022 21:51:51 +0100
Subject: [PATCH 042/262] completion(animate): shorten descriptions
---
share/completions/animate.fish | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/share/completions/animate.fish b/share/completions/animate.fish
index fadc47945..2aa4303ef 100644
--- a/share/completions/animate.fish
+++ b/share/completions/animate.fish
@@ -1,4 +1,4 @@
-complete -c animate -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(animate -list alpha)'
+complete -c animate -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(animate -list alpha)'
complete -c animate -o authenticate -d 'Decipher image with this password [password]'
complete -c animate -o backdrop -d 'Display image centered on a backdrop'
complete -c animate -o channel -d 'Apply option to select image channels [type]' -xa '(animate -list channel)'
@@ -12,7 +12,7 @@ complete -c animate -o depth -d 'Image depth [value]'
complete -c animate -o display -d 'Display image to this X server [server]'
complete -c animate -o dispose -d 'Layer disposal method [method]' -xa '(animate -list dispose)'
complete -c animate -o dither -d 'Apply error diffusion to image [method]' -xa '(animate -list dither)'
-complete -c animate -o filter -d 'Use this filter when resizing an image [type]' -xa '(animate -list filter)'
+complete -c animate -o filter -d 'Choose filter when resizing an image [type]' -xa '(animate -list filter)'
complete -c animate -o format -d 'Output formatted image characteristics ["string"]'
complete -c animate -o gamma -d 'Level of gamma correction [value]'
complete -c animate -o geometry -d 'Preferred size and location of the Image window [geometry]'
@@ -24,7 +24,7 @@ complete -c animate -o interpolate -d 'Pixel color interpolation method [method]
complete -c animate -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c animate -o loop -d 'Loop images then exit [iterations]'
complete -c animate -o map -d 'Display image using this Standard Colormap [type]' -x
-complete -c animate -o monitor -d 'Monitor progress '
+complete -c animate -o monitor -d 'Monitor progress'
complete -c animate -o pause -d 'Seconds to pause before reanimating'
complete -c animate -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c animate -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(animate -list colorspace)'
@@ -34,7 +34,7 @@ complete -c animate -o remote -d 'Command execute a command in an remote display
complete -c animate -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
complete -c animate -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c animate -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
-complete -c animate -o set -d 'Attribute set an image attribute [ value]'
+complete -c animate -o set -d 'Attribute set an image attribute [value]'
complete -c animate -o size -d 'Width and height of image [geometry]'
complete -c animate -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
complete -c animate -o treedepth -d 'Color tree depth [value]'
@@ -59,7 +59,7 @@ complete -c animate -o debug -d 'Display copious debugging information [events]'
complete -c animate -o help -d 'Print program options'
complete -c animate -o list -d 'Print a list of supported option arguments [type]' -xa '(animate -list list)'
complete -c animate -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
-complete -c animate -o version -d 'Print version information Press any button to map or unmap the Command widget'
+complete -c animate -o version -d 'Print version information'
complete -c animate -o matte -d 'Store matte channel if the image has one'
complete -c animate -o scenes -d 'Range image scene range'
complete -c animate -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
From 8878e990a4436fec486b1eed6cf1d2a29c3cd72b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Wed, 19 Jan 2022 22:42:19 +0100
Subject: [PATCH 043/262] completion(ansible-playbook, ansible): shorten
descriptions
---
share/completions/ansible-playbook.fish | 10 +++++-----
share/completions/ansible.fish | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/share/completions/ansible-playbook.fish b/share/completions/ansible-playbook.fish
index a77ecc5d0..375fcfa7c 100644
--- a/share/completions/ansible-playbook.fish
+++ b/share/completions/ansible-playbook.fish
@@ -1,12 +1,12 @@
complete -c ansible-playbook -l ask-vault-pass -f -d "Ask for vault password"
complete -c ansible-playbook -s C -l check -f -d "Just check, don't make any changes"
-complete -c ansible-playbook -s D -l diff -f -d "Show the differences in files and templates; works great with --check"
+complete -c ansible-playbook -s D -l diff -f -d "Show the differences in files and templates"
complete -c ansible-playbook -s e -l extra-vars -r -d "Set additional variables as key=value or YAML/JSON"
complete -c ansible-playbook -l flush-cache -d "Clear the fact cache"
complete -c ansible-playbook -l force-handlers -d "Run handlers even if a task fails"
complete -c ansible-playbook -s f -l forks -a "(seq 0 100)" -d "Number of parallel processes to use (default=5)"
complete -c ansible-playbook -s h -l help -d "Shows a help message"
-complete -c ansible-playbook -s i -l inventory -r -d "Specify inventory host path (default=/etc/ansible/hosts) or comma separated host list."
+complete -c ansible-playbook -s i -l inventory -r -d "Specify inventory host path or comma separated host list"
complete -c ansible-playbook -s l -l limit -r -d "Further limit selected hosts to an additional pattern"
complete -c ansible-playbook -l list-hosts -d "List all matching hosts"
complete -c ansible-playbook -l list-tags -d "List all available tags"
@@ -14,13 +14,13 @@ complete -c ansible-playbook -l list-tasks -d "List all tasks that would be exec
complete -c ansible-playbook -s M -l module-path -r -d "Specify path(s) to module library (default=None)"
complete -c ansible-playbook -l new-vault-password-file -f -d "New vault password file for rekey"
complete -c ansible-playbook -l output -f -d "Output file name for encrypt or decrypt; use - for stdout"
-complete -c ansible-playbook -l skip-tags -r -d "Only run plays and tasks whose tags do not match these values"
+complete -c ansible-playbook -l skip-tags -r -d "Don't run plays and tasks whose tags match these values"
complete -c ansible-playbook -l start-at-task -r -d "Start the playbook at the task matching this name"
complete -c ansible-playbook -l step -d "Confirm each task before running"
complete -c ansible-playbook -l syntax-check -f -d "Perform a syntax check on the playbook"
complete -c ansible-playbook -s t -l tags -r -f -d "Only run plays and tasks tagged with these values"
complete -c ansible-playbook -l vault-password-file -d "Vault password file"
-complete -c ansible-playbook -s v -l verbose -f -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)"
+complete -c ansible-playbook -s v -l verbose -f -d "Verbose mode (-vv/-vvv/-vvvv for more)"
complete -c ansible-playbook -l version -f -d "Display version and exit"
complete -c ansible-playbook -s k -l ask-pass -f -d "Ask for connection password"
complete -c ansible-playbook -l private-key -r -d "Use this file to authenticate the connection"
@@ -31,7 +31,7 @@ complete -c ansible-playbook -l ssh-common-args -f -d "Specify common arguments
complete -c ansible-playbook -l sftp-extra-args -f -d "Specify extra arguments to pass to sftp only"
complete -c ansible-playbook -l scp-extra-args -f -d "Specify extra arguments to pass to scp only"
complete -c ansible-playbook -l ssh-extra-args -f -d "Specify extra arguments to pass to ssh only"
-complete -c ansible-playbook -s b -l become -f -d "Run operations with become (does not imply password prompting)"
+complete -c ansible-playbook -s b -l become -f -d "Run operations with become"
complete -c ansible-playbook -l become-method -r -f -a "sudo su pbrun pfexec runas doas dzdo" -d "Privilege escalation method to use (default=sudo)"
complete -c ansible-playbook -l become-user -r -f -a "(__fish_complete_users)" -d "Run operations as this user (default=root)"
complete -c ansible-playbook -s K -l ask-become-pass -f -d "Ask for privilege escalation password"
diff --git a/share/completions/ansible.fish b/share/completions/ansible.fish
index d61b0f921..d34a09b38 100644
--- a/share/completions/ansible.fish
+++ b/share/completions/ansible.fish
@@ -2,7 +2,7 @@ complete -c ansible -s a -l args -r -f -d "Module arguments"
complete -c ansible -l ask-vault-pass -f -d "Ask for vault password"
complete -c ansible -s B -l background -r -f -d "Run asynchronously, failing after X seconds"
complete -c ansible -s C -l check -f -d "Just check, don't make any changes"
-complete -c ansible -s D -l diff -f -d "Show the differences in files and templates; works great with --check"
+complete -c ansible -s D -l diff -f -d "Show the differences in files and templates"
complete -c ansible -s e -l extra-vars -r -d "Set additional variables as key=value or YAML/JSON"
complete -c ansible -s f -l forks -a "(seq 0 100)" -d "Number of parallel processes to use (default=5)"
complete -c ansible -s h -l help -d "Shows a help message"
@@ -18,7 +18,7 @@ complete -c ansible -s P --l poll -r -d "Set the poll interval if using -B (defa
complete -c ansible -l syntax-check -f -d "Perform a syntax check on the playbook"
complete -c ansible -s t -l tree -f -a "(__fish_complete_directories)" -d "Log output to this directory"
complete -c ansible -l vault-password-file -d "Vault password file"
-complete -c ansible -s v -l verbose -f -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)"
+complete -c ansible -s v -l verbose -f -d "Verbose mode (-vv/-vvv/-vvvv for more)"
complete -c ansible -l version -f -d "Display version and exit"
complete -c ansible -s k -l ask-pass -f -d "Ask for connection password"
complete -c ansible -l private-key -r -d "Use this file to authenticate the connection"
@@ -30,7 +30,7 @@ complete -c ansible -l ssh-common-args -f -d "Specify common arguments to pass t
complete -c ansible -l sftp-extra-args -f -d "Specify extra arguments to pass to sftp only"
complete -c ansible -l scp-extra-args -f -d "Specify extra arguments to pass to scp only"
complete -c ansible -l ssh-extra-args -f -d "Specify extra arguments to pass to ssh only"
-complete -c ansible -s b -l become -f -d "Run operations with become (does not imply password prompting)"
+complete -c ansible -s b -l become -f -d "Run operations with become"
complete -c ansible -l become-method -r -f -a "sudo su pbrun pfexec runas doas dzdo" -d "Privilege escalation method to use (default=sudo)"
complete -c ansible -l become-user -r -f -a "(__fish_complete_users)" -d "Run operations as this user (default=root)"
complete -c ansible -s K -l ask-become-pass -f -d "Ask for privilege escalation password"
From 157d8cfd747292b4071fefb5bf80806c7386b4e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 00:06:13 +0100
Subject: [PATCH 044/262] completions(ant): shorten descriptions
---
share/completions/ant.fish | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/share/completions/ant.fish b/share/completions/ant.fish
index d1977609a..2d7837fc8 100644
--- a/share/completions/ant.fish
+++ b/share/completions/ant.fish
@@ -62,14 +62,14 @@ complete -x -c ant -a "(__fish_complete_ant_targets (commandline -co))"
# Script Options:
complete -f -c ant -l help -l h -d 'print help message and ant help'
-complete -f -c ant -l noconfig -d 'suppress sourcing of /etc/ant.conf, $HOME/.ant/ant.conf, and $HOME/.antrc configuration files'
-complete -f -c ant -l usejikes -d 'enable use of jikes by default, unless set explicitly in configuration files'
+complete -f -c ant -l noconfig -d 'suppress sourcing of configuration files'
+complete -f -c ant -l usejikes -d 'enable use of jikes by default'
complete -f -c ant -l execdebug -d 'print ant exec line generated by this launch script'
# Options:
-complete -f -c ant -o help -s h -d 'print help message and exit'
-complete -f -c ant -o projecthelp -s p -d 'print project help information and exit'
-complete -f -c ant -o version -d 'print the version information and exit'
-complete -f -c ant -o diagnostics -d 'print information that might be helpful to diagnose or report problems and exit'
+complete -f -c ant -o help -s h -d 'print help message'
+complete -f -c ant -o projecthelp -s p -d 'print project help information'
+complete -f -c ant -o version -d 'print the version information'
+complete -f -c ant -o diagnostics -d 'print diagnostic information'
complete -f -c ant -o quiet -s q -d 'be extra quiet'
complete -f -c ant -o silent -s S -d 'print nothing but task outputs and build failures'
complete -f -c ant -o verbose -s v -d 'be extra verbose'
@@ -78,7 +78,7 @@ complete -f -c ant -o emacs -s e -d 'produce logging information without adornme
complete -f -c ant -o noinput -d 'do not allow interactive input'
complete -f -c ant -s D -d 'use value for given property like -D='
complete -f -c ant -o keep-going -s k -d 'execute all targets that do not depend on failed target(s)'
-complete -f -c ant -o nouserlib -d 'Run ant without using the jar files from ${user.home}/.ant/lib'
+complete -f -c ant -o nouserlib -d 'Run ant without using jar files from ${user.home}/.ant/lib'
complete -f -c ant -o noclasspath -d 'Run ant without using CLASSPATH'
complete -f -c ant -o autoproxy -d 'Java1.5+: use the OS proxy settings'
complete -r -c ant -o lib -d 'specifies a path to search for jars and classes'
@@ -86,8 +86,8 @@ complete -r -c ant -o logfile -s l -d 'use given file for log'
complete -r -c ant -o logger -d 'the class which is to perform logging'
complete -r -c ant -o listener -d 'add an instance of class as a project listener'
complete -r -c ant -o buildfile -o file -s f -d 'use given buildfile'
-complete -r -c ant -o propertyfile -d 'load all properties from file with -D properties taking precedence'
+complete -r -c ant -o propertyfile -d 'load properties from file, -D properties takes precedence'
complete -r -c ant -o inputhandler -d 'the class which will handle input requests'
-complete -r -c ant -o find -s s -d '(s)earch for buildfile towards the root of the filesystem and use it'
-complete -r -c ant -o nice -d 'A niceness value for the main thread: 1 (lowest) to 10 (highest); 5 is the default'
+complete -r -c ant -o find -s s -d 'search for buildfile towards the root and use it'
+complete -r -c ant -o nice -d 'A niceness value for the main thread'
complete -r -c ant -o main -d 'override Ant\'s normal entry point'
From b74f610a470712f4760e0f4abb0df8e8c49c9bd1 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Wed, 19 Jan 2022 22:18:36 +0100
Subject: [PATCH 045/262] completions/gcc: Some small fixes
Remove some nonexistent options (my gcc does not know "-mdata"), fix
the longest description in all of fish and remove some argument
markers from the option.
---
share/completions/gcc.fish | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/share/completions/gcc.fish b/share/completions/gcc.fish
index f7e2e9ee7..414b27c2b 100644
--- a/share/completions/gcc.fish
+++ b/share/completions/gcc.fish
@@ -502,8 +502,8 @@ complete -c gcc -o Xlinker -d 'Pass option as an option to the linker'
complete -c gcc -s u -d 'Pretend the symbol symbol is undefined, to force linking of library modules to define it'
complete -c gcc -o Idir -d 'Add the directory dir to the head of the list of directories to be searched for header files'
complete -c gcc -o iquotedir -d 'Add the directory dir to the head of the list of directories to be searched for header files only for the case of #include "file"; they are not searched for #include , otherwise just like -I'
-complete -c gcc -o Ldir -d 'Add directory dir to the list of directories to be searched for -l'
-complete -c gcc -o Bprefix -d 'This option specifies where to find the executables, libraries, include files, and data files of the compiler itself'
+complete -c gcc -o L -d 'Add directory dir to the list of directories to be searched for -l'
+complete -c gcc -o B -d 'This option specifies where to find the executables, libraries, include files, and data files of the compiler itself'
complete -c gcc -o specs -r -d 'Process file after the compiler reads in the standard specs file, in order to override the defaults that the gcc driver program uses when determining what switches to pass to cc1, cc1plus, as, ld, etc'
complete -c gcc -l sysroot -x -a '(__fish_complete_directories)' -d 'Use dir as the logical root directory for headers and libraries'
complete -c gcc -o I- -d 'This option has been deprecated'
@@ -513,10 +513,6 @@ complete -c gcc -o EL -d 'Compile code for little endian mode'
complete -c gcc -o EB -d 'Compile code for big endian mode'
complete -c gcc -o mmangle-cpu -d 'Prepend the name of the cpu to all public symbol names'
complete -c gcc -o mcpu -d 'Compile code for ARC variant cpu' -x
-complete -c gcc -o mtext -d 'Put functions, data, and readonly data in text-section, data-section, and readonly-data-section respectively by default'
-complete -c gcc -o mdata -d 'Put functions, data, and readonly data in text-section, data-section, and readonly-data-section respectively by default'
-complete -c gcc -o mrodata -d 'Put functions, data, and readonly data in text-section, data-section, and readonly-data-section respectively by default'
-complete -c gcc -o section -d 'Put functions, data, and readonly data in text-section, data-section, and readonly-data-section respectively by default'
complete -c gcc -o mabi -d 'Generate code for the specified ABI' -x
complete -c gcc -o mapcs-frame -d 'Generate a stack frame that is compliant with the ARM Procedure Call Standard for all functions, even if this is not strictly necessary for correct execution of the code'
complete -c gcc -o mapcs -d 'This is a synonym for -mapcs-frame'
@@ -529,7 +525,7 @@ complete -c gcc -o mlittle-endian -d 'Generate code for a processor running in l
complete -c gcc -o mbig-endian -d 'Generate code for a processor running in big-endian mode; the default is to compile code for a little-endian processor'
complete -c gcc -o mwords-little-endian -d 'This option only applies when generating code for big-endian processors'
complete -c gcc -o mcpu -d 'This specifies the name of the target ARM processor' -x
-complete -c gcc -o mtune -d 'This option is very similar to the -mcpu= option, except that instead of specifying the actual target processor type, and hence restricting which instructions can be used, it specifies that GCC should tune the performance of the code as if the target were of the type specified in this option, but still choosing the instructions that it will generate based on the cpu specified by a -mcpu= option' -x
+complete -c gcc -o mtune -d 'Tune output for this cpu without restricting the instructions to it'
complete -c gcc -o march -d 'This specifies the name of the target ARM architecture' -x
complete -c gcc -o mfpu -x -d 'This specifies what floating point hardware (or hardware emulation) is available on the target'
complete -c gcc -o mfpe -x -d 'This specifies what floating point hardware (or hardware emulation) is available on the target'
From 02241d19be014df7247912f11316dda37255ebfa Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Thu, 20 Jan 2022 17:15:34 +0100
Subject: [PATCH 046/262] CHANGELOG More ignores
---
CHANGELOG.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index ce428d51a..71bbf69b7 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,7 +2,7 @@ fish 3.4.0 (released ???)
=========================
..
- Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650 8643
+ Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650 8643 8647 8651 8654 8655 8656
Notable improvements and fixes
From 372f03ba20a62eab9f2c35e076732ec7bffcce98 Mon Sep 17 00:00:00 2001
From: Mahmoud Al-Qudsi
Date: Thu, 20 Jan 2022 11:04:40 -0600
Subject: [PATCH 047/262] Fix sys/sysctl.h depreciation error under glibc 2.30+
glibc 2.30 and up emit an ugly depreciation warning on
`#include ` - this patch makes the build system fail the
include test for `sys/sysctl.h` by forcibly setting `-Werror` before the
call to `check_include_files` (which internally uses `try_compile`) to
get `HAVE_SYS_SYSCTL` to not be defined (even if it's there) if it would
cause such a depreciation message to be emitted.
Ideally, we would not have to manually massage `CMAKE_C_FLAGS` before
calling `check_include_files` and could just tweak that to either always
or conditionally try compilation with `-Werror`, but try_compile doesn't
actually use any overridden `CMAKE_C_FLAGS` values [0] (dating back to
2006).
[0]: https://cmake.org/pipermail/cmake/2006-October/011649.html
---
cmake/ConfigureChecks.cmake | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake
index 9c75ae668..2e2d5e567 100644
--- a/cmake/ConfigureChecks.cmake
+++ b/cmake/ConfigureChecks.cmake
@@ -115,7 +115,14 @@ check_struct_has_member("struct stat" st_mtim.tv_nsec "sys/stat.h" HAVE_STRUCT_S
LANGUAGE CXX)
check_include_file_cxx(sys/ioctl.h HAVE_SYS_IOCTL_H)
check_include_file_cxx(sys/select.h HAVE_SYS_SELECT_H)
+
+# glibc 2.30 deprecated because that's what glibc does.
+# Checking for that here rather than hardcoding a check on the glibc
+# version in the C++ sources at point of use makes more sense.
+SET(OLD_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
check_include_files("sys/types.h;sys/sysctl.h" HAVE_SYS_SYSCTL_H)
+SET(CMAKE_C_FLAGS "${OLD_CMAKE_C_FLAGS}")
check_cxx_symbol_exists(eventfd sys/eventfd.h HAVE_EVENTFD)
check_cxx_symbol_exists(pipe2 unistd.h HAVE_PIPE2)
From f40c054a6a0f1b4c0cb13b686ac49a1bcb4c2151 Mon Sep 17 00:00:00 2001
From: Fabian Homborg
Date: Fri, 21 Jan 2022 17:10:52 +0100
Subject: [PATCH 048/262] Replace hangul hack with widecharwidth version
This updates widecharwidth to
6d3d55b419db93934517cb568d1a3d95909b4c7b, which includes the same
Hangul Jamo check in a separate table.
This should slightly speed up most width calculation because we no
longer need to do it for most chars, including the overwhelmingly
common ascii ones.
Also the range is increased and should better match reality.
---
src/fallback.cpp | 6 ------
src/widecharwidth/widechar_width.h | 10 +++++++++-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/fallback.cpp b/src/fallback.cpp
index c93d685be..d5104daab 100644
--- a/src/fallback.cpp
+++ b/src/fallback.cpp
@@ -243,12 +243,6 @@ int fish_wcwidth(wchar_t wc) {
else if (wc == variation_selector_15)
return 0;
- // Korean Hangul Jamo median vowels and final consonants.
- // These can either appear in combined form, taking 0 width themselves,
- // or standalone with a 1 width. Since that's literally not expressible with wcwidth(),
- // we take the position that the typical way for them to show up is composed.
- if (wc >= L'\u1160' && wc <= L'\u11FF') return 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.
diff --git a/src/widecharwidth/widechar_width.h b/src/widecharwidth/widechar_width.h
index 0843f7b6c..cc849745a 100644
--- a/src/widecharwidth/widechar_width.h
+++ b/src/widecharwidth/widechar_width.h
@@ -1,5 +1,5 @@
/**
- * widechar_width.h, generated on 2021-10-26.
+ * widechar_width.h, generated on 2022-01-01.
* See https://github.com/ridiculousfish/widecharwidth/
*
* SHA1 file hashes:
@@ -378,6 +378,12 @@ static const struct widechar_range widechar_combining_table[] = {
{0xE0100, 0xE01EF}
};
+/* Width 0 combining letters. */
+static const struct widechar_range widechar_combiningletters_table[] = {
+ {0x01160, 0x011FF},
+ {0x0D7B0, 0x0D7FF}
+};
+
/* Width 2 characters. */
static const struct widechar_range widechar_doublewide_table[] = {
{0x01100, 0x0115F},
@@ -1463,6 +1469,8 @@ int widechar_wcwidth(uint32_t c) {
return widechar_non_character;
if (widechar_in_table(widechar_combining_table, c))
return widechar_combining;
+ if (widechar_in_table(widechar_combiningletters_table, c))
+ return widechar_combining;
if (widechar_in_table(widechar_doublewide_table, c))
return 2;
if (widechar_in_table(widechar_ambiguous_table, c))
From 0d5651b0ab83c05e88d38245ace51581df6cda27 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Fri, 21 Jan 2022 13:03:35 -0800
Subject: [PATCH 049/262] .pkg scripts: remove old installs, fix install
volume, logging
+ Adds a preinstall script to wipe out whatever the last .pkg
installed. This should avoid systems that have mad many updates
getting into strange states autoloading things that no longer
exist. Fixes #2963
+ Run add-shell with ${DSTVOLUME} prepended to the path - the
installer lets users intall onto any volume, so it's plausible
not installed onto /
+ Use `logger` instead of rando /tmp files for logging - stuff
should show up in Console.
+ make_pkg makes the pkg and also fish.app - the former was being
built with -j12 already, make the latter do so as well.
---
build_tools/make_pkg.sh | 2 +-
build_tools/osx_package_scripts/postinstall | 2 +-
build_tools/osx_package_scripts/preinstall | 7 +++++++
3 files changed, 9 insertions(+), 2 deletions(-)
create mode 100755 build_tools/osx_package_scripts/preinstall
diff --git a/build_tools/make_pkg.sh b/build_tools/make_pkg.sh
index 25a3de109..d4fcd9934 100755
--- a/build_tools/make_pkg.sh
+++ b/build_tools/make_pkg.sh
@@ -35,6 +35,6 @@ MAC_PRODUCTSIGN_ID=${MAC_PRODUCTSIGN_ID:--}
productsign --sign "${MAC_PRODUCTSIGN_ID}" "$OUTPUT_PATH/fish-$VERSION.pkg" "$OUTPUT_PATH/fish-$VERSION-signed.pkg" && mv "$OUTPUT_PATH/fish-$VERSION-signed.pkg" "$OUTPUT_PATH/fish-$VERSION.pkg"
# Make the app
-{ cd "$PKGDIR/build" && make signed_fish_macapp && zip -r "$OUTPUT_PATH/fish-$VERSION.app.zip" fish.app; }
+{ cd "$PKGDIR/build" && make -j 12 signed_fish_macapp && zip -r "$OUTPUT_PATH/fish-$VERSION.app.zip" fish.app; }
rm -r "$PKGDIR"
diff --git a/build_tools/osx_package_scripts/postinstall b/build_tools/osx_package_scripts/postinstall
index 544fd1de1..e9a6a0517 100755
--- a/build_tools/osx_package_scripts/postinstall
+++ b/build_tools/osx_package_scripts/postinstall
@@ -1,3 +1,3 @@
#!/bin/sh -x
-./add-shell /usr/local/bin/fish > /tmp/fish_postinstall_output.log
+./add-shell ${DSTVOLUME}usr/local/bin/fish | logger -s -t "${INSTALL_PKG_SESSION_ID}"
diff --git a/build_tools/osx_package_scripts/preinstall b/build_tools/osx_package_scripts/preinstall
new file mode 100755
index 000000000..2f2cffb3b
--- /dev/null
+++ b/build_tools/osx_package_scripts/preinstall
@@ -0,0 +1,7 @@
+#!/bin/sh -x
+
+logger -s -t "${INSTALL_PKG_SESSION_ID}" "Removing any previous installation"
+pkgutil --pkg-info ${INSTALL_PKG_SESSION_ID} && pkgutil pkgutil --only-files --files ${INSTALL_PKG_SESSION_ID} | while read installed
+ do rm -v ${DSTVOLUME}${installed}
+done | logger -s -t "${INSTALL_PKG_SESSION_ID}"
+logger -s -t "${INSTALL_PKG_SESSION_ID}" "... removed"
From 9c1723863dd85b5668d82b42a37772ad5343dd18 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Fri, 21 Jan 2022 14:28:49 -0800
Subject: [PATCH 050/262] Update CHANGELOG.rst
---
CHANGELOG.rst | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 71bbf69b7..b562d6b0f 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -192,7 +192,8 @@ Other improvements
- The HTML version of the documentation now includes copy buttons for code examples (:issue:`8218`).
- The HTML version of the documentation and the web-based configuration tool now pick more modern system fonts instead of falling back to Arial and something like Courier New most of the time (:issue:`8632`).
- The Debian & Ubuntu package linked from fishshell.com is now a single package, rather than split into ``fish`` and ``fish-common`` (:issue:`7845`).
-- The macOS installer does not assert that Rosetta is required to install fish (:issue:`8566`).
+- The macOS installer does not assert that Rosetta is required to install fish on machines with Apple Silicon (:issue:`8566`).
+- The macOS installer now cleans up previous .pkg installations when upgrading. (:issue:`2963`).
For distributors
----------------
From 3bad45a933c9be015b610fe8b8779469054dab9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 10:20:27 +0100
Subject: [PATCH 051/262] completions(bison): shorten descriptions
Work on https://github.com/fish-shell/fish-shell/issues/6981
---
share/completions/bison.fish | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/share/completions/bison.fish b/share/completions/bison.fish
index d7b50f891..ef2dc275d 100644
--- a/share/completions/bison.fish
+++ b/share/completions/bison.fish
@@ -5,19 +5,16 @@
# have been hand edited since.
#
-complete -c bison -s b -l file-prefix -d 'Specify a prefix to use for all bison output file names' -r
-
-complete -c bison -s d -d 'Write an extra output file containing macro definitions for the token type names defined in the grammar and the semantic value type YYSTYPE, as well as a few extern variable declarations'
-complete -c bison -l defines -d 'The behavior of --defines is the same than -d option'
-complete -c bison -s g -d 'Output a VCG definition of the LALR(1) grammar automaton com puted by Bison'
-complete -c bison -l graph -d 'The behavior of --graph is the same than -g option'
+complete -c bison -s b -l file-prefix -d 'Specify a prefix to use for all output file names' -r
+complete -c bison -s d -l defines -d 'Generate file with macro definitions for token type names'
+complete -c bison -s g -l graph -d 'Output a VCG definition of the LALR(1) grammar automaton'
complete -c bison -s k -l token-table -d 'This switch causes the name'
complete -c bison -s l -l no-lines -d 'Dont put any #line preprocessor commands in the parser file'
-complete -c bison -s n -l no-parser -d 'Do not generate the parser code into the output; generate only declarations'
+complete -c bison -s n -l no-parser -d "Generate only declarations, not parser code"
complete -c bison -s o -l output -d 'Specify the name outfile for the parser file'
-complete -c bison -s p -l name-prefix -d 'Rename the external symbols used in the parser so that they start with prefix instead of yy'
-complete -c bison -s t -l debug -d 'In the parser file, define the macro YYDEBUG to 1 if it is not already defined, so that the debugging facilities are compiled'
-complete -c bison -s v -l verbose -d 'Write an extra output file containing verbose descriptions of the parser states and what is done for each type of look-ahead token in that state'
-complete -c bison -s V -l version -d 'Print the version number of bison and exit'
-complete -c bison -s h -l help -d 'Print a summary of the options to bison and exit'
+complete -c bison -s p -l name-prefix -d 'External symbols start with prefix instead of yy'
+complete -c bison -s t -l debug -d 'Enable debugging facilities on compilation'
+complete -c bison -s v -l verbose -d 'Generate file with descriptions of the parser states'
+complete -c bison -s V -l version -d 'Print version number'
+complete -c bison -s h -l help -d 'Print summary of the options'
complete -c bison -s y -l yacc -l fixed-output-files -d 'Equivalent to -o y.tab.c'
From 7667a51d93c4c0c47741c287b8b1948eb8937716 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 10:55:01 +0100
Subject: [PATCH 052/262] completions(cdrecord): shorten descriptions
---
share/completions/cdrecord.fish | 72 ++++++++++++++++-----------------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/share/completions/cdrecord.fish b/share/completions/cdrecord.fish
index 01cd0eb85..3f7b6805e 100644
--- a/share/completions/cdrecord.fish
+++ b/share/completions/cdrecord.fish
@@ -2,33 +2,33 @@
# Completions for Cdrecord
#
-complete -c cdrecord -o version -d "Display version and exit"
+complete -c cdrecord -o version -d "Display version"
complete -c cdrecord -s v -d "Increment the level of general verbosity by one"
complete -c cdrecord -s V -d "Increment the verbose level in respect of SCSI command transport by one"
complete -c cdrecord -a "debug={1,2,3,4,5}" -d "Set the misc debug value to #"
complete -c cdrecord -s d -d "Increment the misc debug level by one" -a "1 2 3 4 5"
complete -c cdrecord -s s -o silent -d "Do not print out a status report for failed SCSI commands"
complete -c cdrecord -o force -d "Force to continue on some errors"
-complete -c cdrecord -o immed -d "Tell cdrecord to set the SCSI IMMED flag in certain commands"
-complete -c cdrecord -a "minbuf={25,35,45,55,65,75,85,95}" -d "Defines the minimum drive buffer fill ratio for the experimental ATAPI wait mode intended to free the IDE bus to allow hard disk and CD/DVD writer on the same IDE cable"
+complete -c cdrecord -o immed -d "Set the SCSI IMMED flag in certain commands"
+complete -c cdrecord -a "minbuf={25,35,45,55,65,75,85,95}" -d "Minimum drive buffer fill ratio for the ATAPI wait mode"
complete -c cdrecord -o dummy -d "Complete CD/DVD-Recorder recording process with the laser turned off"
-complete -c cdrecord -o clone -d "Tells cdrecord to handle images created by readcd -clone"
+complete -c cdrecord -o clone -d "Handle images created by readcd -clone"
complete -c cdrecord -o dao
complete -c cdrecord -o sao -d "Set SAO (Session At Once) mode, usually called Disk At Once mode"
complete -c cdrecord -o tao -d "Set TAO (Track At Once) writing mode"
complete -c cdrecord -o raw -d "Set RAW writing mode"
complete -c cdrecord -o raw96r -d "Select Set RAW writing, the preferred raw writing mode"
complete -c cdrecord -o raw96p -d "Select Set RAW writing, the less preferred raw writing mode"
-complete -c cdrecord -o raw16 -d "Select Set RAW writing, the preferred raw writing mode if raw96r is not supported"
+complete -c cdrecord -o raw16 -d "Select Set RAW writing, the preferred raw writing mode after raw96r"
complete -c cdrecord -o multi -d "Allow multi session CDs to be made"
complete -c cdrecord -o msinfo -d "Retrieve multi session info in a form suitable for mkisofs-1.10 or later"
complete -c cdrecord -o toc -d "Retrieve and print out the table of content or PMA of a CD"
complete -c cdrecord -o atip -d "Retrieve and print out the ATIP (absolute Time in Pre-groove) info"
-complete -c cdrecord -o fix -d "The disk will only be fixated"
+complete -c cdrecord -o fix -d "Only fixate disk "
complete -c cdrecord -o nofix -d "Do not fixate the disk after writing the tracks"
-complete -c cdrecord -o waiti -d "Wait for input to become available on standard input before trying to open the SCSI driver"
-complete -c cdrecord -o load -d "Load the media and exit"
-complete -c cdrecord -o lock -d "Load the media, lock the door and exit"
+complete -c cdrecord -o waiti -d "Wait for standard input to become available before opening the SCSI driver"
+complete -c cdrecord -o load -d "Load the media"
+complete -c cdrecord -o lock -d "Load the media, lock the door"
complete -c cdrecord -o eject -d "Eject disk after doing the work"
complete -c cdrecord -a "speed={0,150,172,1385}" -d "Set the speed factor of the writing process to #"
complete -c cdrecord -a "blank={help,all,fast,track,unreserve,trtail,unclose,session}" -d "Blank a CD-RW and exit or blank a CD-RW before writing"
@@ -43,22 +43,22 @@ complete -c cdrecord -a "driver={help,mmc_cd,mmc_cd_dvd,mmc_cdr,mmc_cdr_sony,mmc
# TODO: This argument accepts a comma separated list of arguments
complete -c cdrecord -a "driveropts=" -d "Set driver specific options"
-complete -c cdrecord -o setdropts -d "Set the driveropts specified by driveropts=option list, the speed of the drive and the dummy flag and exit"
-complete -c cdrecord -o checkdrive -d "Checks if a driver for the current drive is present and exit"
-complete -c cdrecord -o prcap -d "Print the drive capabilities for SCSI-3/mmc compliant drives as obtained from mode page 0x2A"
-complete -c cdrecord -o inq -d "Do an inquiry for the drive, print the inquiry info and exit"
+complete -c cdrecord -o setdropts -d "Set driver specific options"
+complete -c cdrecord -o checkdrive -d "Checks if a driver for the current drive is present"
+complete -c cdrecord -o prcap -d "Print the drive capabilities for SCSI-3/mmc compliant drives"
+complete -c cdrecord -o inq -d "Do an inquiry for the drive, print the inquiry info"
complete -c cdrecord -o scanbus -d "Scan all SCSI devices on all SCSI busses and print the inquiry strings"
complete -c cdrecord -o reset -d "Try to reset the SCSI bus where the CD recorder is located"
complete -c cdrecord -o abort -d "Try to send an abort sequence to the drive"
-complete -c cdrecord -o overburn -d "Allow cdrecord to write more than the official size of a medium"
+complete -c cdrecord -o overburn -d "Allow writing more than the official size of a medium"
complete -c cdrecord -o ignsize -d "Ignore the known size of the medium, use for debugging only"
complete -c cdrecord -o useinfo -d "Use *.inf files to overwrite audio options"
-complete -c cdrecord -a "defpregap=" -d "Set the default pre-gap size for all tracks except track nr 1"
-complete -c cdrecord -o packet -d "Set Packet writing mode (experimental interface)"
-complete -c cdrecord -a "pktsize=" -d "Set the packet size to #, forces fixed packet mode (experimental)"
-complete -c cdrecord -o noclose -d "Do not close the current track, only when in packet writing mode (experimental)"
+complete -c cdrecord -a "defpregap=" -d "Set default pre-gap size for all tracks except track nr 1"
+complete -c cdrecord -o packet -d "Set Packet writing mode"
+complete -c cdrecord -a "pktsize=" -d "Set the packet size to #, forces fixed packet mode"
+complete -c cdrecord -o noclose -d "Don't close the current track, only when in packet writing mode"
complete -c cdrecord -a "mcn=" -d "Set the Media Catalog Number of the CD"
-complete -c cdrecord -o text -d "Write CD-Text info based on info taken from a file that contains ascii info for the text strings"
+complete -c cdrecord -o text -d "Write CD-Text info based on file containing ascii info"
complete -c cdrecord -a "textfile=" -d "Write CD-Text based on info found in the binary file filename"
complete -c cdrecord -a "cuefile=" -d "Take all recording related info from a CDRWIN compliant CUE sheet file"
@@ -66,25 +66,25 @@ complete -c cdrecord -a "cuefile=" -d "Take all recording related info from a CD
complete -c cdrecord -a "isrc=" -d "Set the International Standard Recording Number for the next track"
complete -c cdrecord -a "index=" -d "Sets an index list for the next track"
-complete -c cdrecord -o audio -d "All subsequent tracks are written in CD-DA audio format"
-complete -c cdrecord -o swab -d "Audio data is assumed to be in byte-swapped (little-endian) order"
-complete -c cdrecord -o data -d "All subsequent tracks are written in CD-ROM mode 1 (Yellow Book) format"
-complete -c cdrecord -o mode2 -d "All subsequent tracks are written in CD-ROM mode 2 format"
-complete -c cdrecord -o xa -d "All subsequent tracks are written in CD-ROM XA mode 2 form 1 format"
-complete -c cdrecord -o xa1 -d "All subsequent tracks are written in CD-ROM XA mode 2 form 1 format"
-complete -c cdrecord -o xa2 -d "All subsequent tracks are written in CD-ROM XA mode 2 form 2 format"
-complete -c cdrecord -o xamix -d "All subsequent tracks are written in a way that allows a mix of CD-ROM XA mode 2 form 1/2 format"
+complete -c cdrecord -o audio -d "Subsequent tracks are written in CD-DA format"
+complete -c cdrecord -o swab -d "Audio data is assumed to be in byte-swapped order"
+complete -c cdrecord -o data -d "Subsequent tracks are written in CD-ROM mode 1 format"
+complete -c cdrecord -o mode2 -d "Subsequent tracks are written in CD-ROM mode 2 format"
+complete -c cdrecord -o xa -d "Subsequent tracks are written in CD-ROM XA mode 2 form 1 format"
+complete -c cdrecord -o xa1 -d "Subsequent tracks are written in CD-ROM XA mode 2 form 1 format"
+complete -c cdrecord -o xa2 -d "Subsequent tracks are written in CD-ROM XA mode 2 form 2 format"
+complete -c cdrecord -o xamix -d "Subsequent tracks allows a mix of CD-ROM XA mode 2 form 1/2 format"
complete -c cdrecord -o cdi -d "The TOC type for the disk is set to CDI, with XA only"
complete -c cdrecord -o isosize -d "Use the ISO-9660 file system size as the size of the next track"
-complete -c cdrecord -o pad -d "15 sectors of zeroed data will be added to the end of this and each subsequent data track"
+complete -c cdrecord -o pad -d "Add 15 sectors of zeroed data to the end of this and subsequent tracks"
complete -c cdrecord -a "padsize=" -d "Set the amount of data to be appended as padding to the next track"
complete -c cdrecord -o nopad -d "Do not pad the following tracks - the default"
-complete -c cdrecord -o shorttrack -d "Allow all subsequent tracks to violate the Red Book track length standard (min 4 s)"
-complete -c cdrecord -o noshorttrack -d "Re-enforce the Red Book track length standard (min 4 s)"
+complete -c cdrecord -o shorttrack -d "Allow all subsequent tracks to violate the Red Book track length standard"
+complete -c cdrecord -o noshorttrack -d "Re-enforce the Red Book track length standard"
complete -c cdrecord -a "pregap=" -d "Set the pre-gap size for the next track"
-complete -c cdrecord -o preemp -d "All TOC entries for subsequent audio tracks will indicate that the audio data has been sampled with 50/15 microsec pre-emphasis"
-complete -c cdrecord -o nopreemp -d "All TOC entries for subsequent audio tracks will indicate that the audio data has been mastered with linear data"
-complete -c cdrecord -o copy -d "All TOC entries for subsequent audio tracks of the resulting CD will indicate that the audio data has permission to be copied without limit"
-complete -c cdrecord -o nocopy -d "All TOC entries for subsequent audio tracks of the resulting CD will indicate that the audio data has permission to be copied only once for personal use"
-complete -c cdrecord -o scms -d "All TOC entries for subsequent audio tracks of the resulting CD will indicate that the audio data has no permission to be copied"
-complete -c cdrecord -a "tsize=" -d "If the master image for the next track has been stored on a raw disk, use this option to specify the valid amount of data on this disk"
+complete -c cdrecord -o preemp -d "TOC indicates that data has been sampled with 50/15 microsec pre-emphasis"
+complete -c cdrecord -o nopreemp -d "TOC indicates that data has been mastered with linear data"
+complete -c cdrecord -o copy -d "TOC indicates that data has permission to be copied without limit"
+complete -c cdrecord -o nocopy -d "TOC indicates that data has permission to be copied only once"
+complete -c cdrecord -o scms -d "TOC indicates that data has no permission to be copied"
+complete -c cdrecord -a "tsize=" -d "Specify valid amount of data on raw disk for next track's master image"
From 095aed64e0734bd6d833cea12d3abb9d01f7ccd3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 11:39:17 +0100
Subject: [PATCH 053/262] completions(imagemagick): shorten descriptions
---
share/completions/compare.fish | 6 +++---
share/completions/composite.fish | 8 ++++----
share/completions/conjure.fish | 2 +-
share/completions/convert.fish | 18 +++++++++---------
share/completions/display.fish | 10 +++++-----
share/completions/identify.fish | 10 +++++-----
share/completions/import.fish | 2 +-
share/completions/mogrify.fish | 18 +++++++++---------
share/completions/montage.fish | 14 +++++++-------
share/completions/stream.fish | 4 ++--
10 files changed, 46 insertions(+), 46 deletions(-)
diff --git a/share/completions/compare.fish b/share/completions/compare.fish
index 4b87f43bd..2e702d3a9 100644
--- a/share/completions/compare.fish
+++ b/share/completions/compare.fish
@@ -1,4 +1,4 @@
-complete -c compare -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(compare -list alpha)'
+complete -c compare -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(compare -list alpha)'
complete -c compare -o authenticate -d 'Decipher image with this password [password]'
complete -c compare -o channel -d 'Apply option to select image channels [type]' -xa '(compare -list channel)'
complete -c compare -o colorspace -d 'Alternate image colorspace [type]' -xa '(compare -list colorspace)'
@@ -19,7 +19,7 @@ complete -c compare -o interlace -d 'Type of image interlacing scheme [type]' -x
complete -c compare -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c compare -o lowlight-color -d 'De-emphasize pixel differences with this color [color]' -xa '(__fish_complete_convert_options color)'
complete -c compare -o metric -d 'Measure differences between images with this metric [type]' -xa '(compare -list metric)'
-complete -c compare -o monitor -d 'Monitor progress '
+complete -c compare -o monitor -d 'Monitor progress'
complete -c compare -o passphrase -d 'Get the passphrase from this file [filename]' -r
complete -c compare -o profile -d 'Add, delete, or apply an image profile [filename]' -r
complete -c compare -o quality -d 'JPEG/MIFF/PNG compression level [value]'
@@ -29,7 +29,7 @@ complete -c compare -o regard-warnings -d 'Pay attention to warning messages'
complete -c compare -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
complete -c compare -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c compare -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
-complete -c compare -o set -d 'Attribute set an image attribute [ value]'
+complete -c compare -o set -d 'Attribute set an image attribute [value]'
complete -c compare -o size -d 'Width and height of image [geometry]'
complete -c compare -o subimage-search -d 'Search for subimage'
complete -c compare -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
diff --git a/share/completions/composite.fish b/share/completions/composite.fish
index ce972cbae..b4fede6d1 100644
--- a/share/completions/composite.fish
+++ b/share/completions/composite.fish
@@ -1,5 +1,5 @@
complete -c composite -o affine -d 'Affine transform matrix [matrix]'
-complete -c composite -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(convert -list alpha)'
+complete -c composite -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(convert -list alpha)'
complete -c composite -o authenticate -d 'Decipher image with this password [password]'
complete -c composite -o blue-primary -d 'Chromaticity blue primary point [point]'
complete -c composite -o channel -d 'Apply option to select image channels [type]' -xa '(convert -list channel)'
@@ -24,7 +24,7 @@ complete -c composite -o interlace -d 'Type of image interlacing scheme [type]'
complete -c composite -o interpolate -d 'Pixel color interpolation method [method]' -xa '(convert -list interpolate)'
complete -c composite -o label -d 'Assign a label to an image [string]'
complete -c composite -o limit -d 'Pixel cache resource limit [type value]' -x
-complete -c composite -o monitor -d 'Monitor progress '
+complete -c composite -o monitor -d 'Monitor progress'
complete -c composite -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c composite -o pointsize -d 'Font point size [value]'
complete -c composite -o quality -d 'JPEG/MIFF/PNG compression level [value]'
@@ -50,9 +50,9 @@ complete -c composite -o border -d 'Surround image with a border of color [geome
complete -c composite -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
complete -c composite -o colors -d 'Preferred number of colors in the image [value]'
complete -c composite -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
-complete -c composite -o displace -d 'Shift lookup according to a relative displacement map [geometry]'
+complete -c composite -o displace -d 'Shift image pixels defined by a displacement map [geometry]'
complete -c composite -o dissolve -d 'Dissolve the two images a given percent [value]'
-complete -c composite -o distort -d 'Shift lookup according to a absolute distortion map [geometry]'
+complete -c composite -o distort -d 'Shift lookup based on a absolute distortion map [geometry]'
complete -c composite -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
complete -c composite -o extract -d 'Extract area from image [geometry]'
complete -c composite -o geometry -d 'Location of the composite image [geometry]'
diff --git a/share/completions/conjure.fish b/share/completions/conjure.fish
index 46954e08c..a78657d83 100644
--- a/share/completions/conjure.fish
+++ b/share/completions/conjure.fish
@@ -1,4 +1,4 @@
-complete -c conjure -o monitor -d 'Monitor progress '
+complete -c conjure -o monitor -d 'Monitor progress'
complete -c conjure -o quiet -d 'Suppress all warning messages'
complete -c conjure -o regard-warnings -d 'Pay attention to warning messages'
complete -c conjure -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
diff --git a/share/completions/convert.fish b/share/completions/convert.fish
index 5e19772af..fe7873159 100644
--- a/share/completions/convert.fish
+++ b/share/completions/convert.fish
@@ -1,7 +1,7 @@
complete -c convert -o adjoin -d 'Join images into a single multi-image file'
complete -c convert -o affine -d 'Affine transform matrix [matrix]'
-complete -c convert -o alpha -d 'Activate, deactivate, reset, or set the alpha channel [option]' -xa '(convert -list alpha)'
-complete -c convert -o antialias -d 'Remove pixel-aliasing '
+complete -c convert -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(convert -list alpha)'
+complete -c convert -o antialias -d 'Remove pixel-aliasing'
complete -c convert -o authenticate -d 'Decipher image with this password [password]'
complete -c convert -o attenuate -d 'Lessen (or intensify) when adding noise to an image [value]'
complete -c convert -o background -d 'Background color [color]' -xa '(__fish_complete_convert_options color)'
@@ -45,7 +45,7 @@ complete -c convert -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c convert -o loop -d 'Add Netscape loop extension to your GIF animation [iterations]'
complete -c convert -o mask -d 'Associate a mask with the image [filename]' -r
complete -c convert -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
-complete -c convert -o monitor -d 'Monitor progress '
+complete -c convert -o monitor -d 'Monitor progress'
complete -c convert -o orient -d 'Image orientation [type]' -xa '(convert -list orientation)'
complete -c convert -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c convert -o ping -d 'Efficiently determine image attributes'
@@ -80,7 +80,7 @@ complete -c convert -o virtual-pixel -d 'Virtual pixel access method [method]' -
complete -c convert -o weight -d 'Render text with this font weight [type]' -x
complete -c convert -o white-point -d 'Chromaticity white point [point]'
complete -c convert -o adaptive-blur -d 'Adaptively blur pixels; decrease effect near edges [geometry]'
-complete -c convert -o adaptive-resize -d 'Adaptively resize image using \'mesh\' interpolation [geometry]'
+complete -c convert -o adaptive-resize -d "Adaptively resize image using 'mesh' interpolation [geometry]"
complete -c convert -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges [geometry]'
complete -c convert -o annotate -d 'Annotate the image with text [geometry text]'
complete -c convert -o auto-gamma -d 'Automagically adjust gamma level of image'
@@ -115,7 +115,7 @@ complete -c convert -o encipher -d 'Convert plain pixels to cipher pixels [filen
complete -c convert -o emboss -d 'Emboss an image [radius]'
complete -c convert -o enhance -d 'Apply a digital filter to enhance a noisy image'
complete -c convert -o equalize -d 'Perform histogram equalization to an image'
-complete -c convert -o evaluate -d 'Evaluate an arithmetic, relational, or logical expression [operator value]'
+complete -c convert -o evaluate -d 'Alter channel pixels based on expression [operator]'
complete -c convert -o extent -d 'Set the image size [geometry]'
complete -c convert -o extract -d 'Extract area from image [geometry]'
complete -c convert -o fft -d 'Implements the discrete Fourier transform (DFT)'
@@ -173,13 +173,13 @@ complete -c convert -o shadow -d 'Simulate an image shadow [geometry]'
complete -c convert -o sharpen -d 'Sharpen the image [geometry]'
complete -c convert -o shave -d 'Shave pixels from the image edges [geometry]'
complete -c convert -o shear -d 'Slide one edge of the image along the X or Y axis [geometry]'
-complete -c convert -o sigmoidal-contrast -d 'Increase the contrast without saturating highlights or shadows [geometry]'
+complete -c convert -o sigmoidal-contrast -d 'Lightness rescaling using sigmoidal contrast enhancement [geometry]'
complete -c convert -o sketch -d 'Simulate a pencil sketch [geometry]'
complete -c convert -o solarize -d 'Negate all pixels above the threshold level [threshold]'
complete -c convert -o sparse-color -d 'Args fill in a image based on a few color points [method]' -xa '(convert -list sparse-color)'
complete -c convert -o splice -d 'Splice the background color into the image [geometry]'
complete -c convert -o spread -d 'Displace image pixels by a random amount [radius]'
-complete -c convert -o statistic -d 'Replace each pixel with corresponding statistic from the neighborhood [type geometry]' -xa '(convert -list statistic)'
+complete -c convert -o statistic -d 'Replace pixels with statistic from the neighborhood [type geometry]' -xa '(convert -list statistic)'
complete -c convert -o strip -d 'Strip image of all profiles and comments'
complete -c convert -o swirl -d 'Swirl image pixels about the center [degrees]'
complete -c convert -o threshold -d 'Threshold the image [value]'
@@ -201,10 +201,10 @@ complete -c convert -o append -d 'Append an image sequence'
complete -c convert -o clut -d 'Apply a color lookup table to the image'
complete -c convert -o coalesce -d 'Merge a sequence of images'
complete -c convert -o combine -d 'Combine a sequence of images'
-complete -c convert -o composite -d 'Composite image '
+complete -c convert -o composite -d 'Composite image'
complete -c convert -o crop -d 'Cut out a rectangular region of the image [geometry]'
complete -c convert -o deconstruct -d 'Break down an image sequence into constituent parts'
-complete -c convert -o evaluate-sequence -d 'Evaluate an arithmetic, relational, or logical expression [operator]'
+complete -c convert -o evaluate-sequence -d 'Alter channel pixels based on expression [operator]'
complete -c convert -o flatten -d 'Flatten a sequence of images'
complete -c convert -o fx -d 'Apply mathematical expression to an image channel(s) [expression]'
complete -c convert -o hald-clut -d 'Apply a Hald color lookup table to the image'
diff --git a/share/completions/display.fish b/share/completions/display.fish
index 8a764dd2b..7b182ac25 100644
--- a/share/completions/display.fish
+++ b/share/completions/display.fish
@@ -1,5 +1,5 @@
-complete -c display -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(display -list alpha)'
-complete -c display -o antialias -d 'Remove pixel-aliasing '
+complete -c display -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(display -list alpha)'
+complete -c display -o antialias -d 'Remove pixel-aliasing'
complete -c display -o authenticate -d 'Decipher image with this password [password]'
complete -c display -o backdrop -d 'Display image centered on a backdrop'
complete -c display -o channel -d 'Apply option to select image channels [type]' -xa '(display -list channel)'
@@ -27,7 +27,7 @@ complete -c display -o label -d 'Assign a label to an image [string]'
complete -c display -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c display -o loop -d 'Loop images then exit [iterations]'
complete -c display -o map -d 'Display image using this Standard Colormap [type]' -x
-complete -c display -o monitor -d 'Monitor progress '
+complete -c display -o monitor -d 'Monitor progress'
complete -c display -o page -d 'Size and location of an image canvas [geometry]'
complete -c display -o profile -d 'Add, delete, or apply an image profile [filename]' -r
complete -c display -o quality -d 'JPEG/MIFF/PNG compression level [value]'
@@ -41,7 +41,7 @@ complete -c display -o sampling-factor -d 'Horizontal and vertical sampling fact
complete -c display -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
complete -c display -o set -d 'Set an image property [property value]'
complete -c display -o size -d 'Width and height of image [geometry]'
-complete -c display -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c display -o texture -d 'Texture name to tile onto the image background [filename]' -r
complete -c display -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
complete -c display -o treedepth -d 'Color tree depth [value]'
complete -c display -o update -d 'Seconds detect when image file is modified and redisplay'
@@ -51,7 +51,7 @@ complete -c display -o virtual-pixel -d 'Virtual pixel access method [method]' -
complete -c display -o window -d 'Display image to background of this window [id]' -xa 'root (__fish_print_xwindows)'
complete -c display -o window-group -d 'Exit program when this window id is destroyed [id]'
complete -c display -o write -d 'Write image to a file [filename]' -r
-complete -c display -o auto-orient -d 'Automagically orient image'
+complete -c display -o auto-orient -d 'Automagically orient (rotate) image'
complete -c display -o border -d 'Surround image with a border of color [geometry]'
complete -c display -o clip -d 'Clip along the first path from the 8BIM profile'
complete -c display -o clip-path -d 'Clip along a named path from the 8BIM profile [id]'
diff --git a/share/completions/identify.fish b/share/completions/identify.fish
index f4ae7c5e7..c3806d871 100644
--- a/share/completions/identify.fish
+++ b/share/completions/identify.fish
@@ -1,4 +1,4 @@
-complete -c identify -o antialias -d 'Remove pixel-aliasing '
+complete -c identify -o antialias -d 'Remove pixel-aliasing'
complete -c identify -o authenticate -d 'Decrypt image with this password [value]'
complete -c identify -o channel -d 'Apply option to select image channels [type]' -xa '(identify -list channel)'
complete -c identify -o crop -d 'Cut out a rectangular region of the image [geometry]'
@@ -6,21 +6,21 @@ complete -c identify -o define -d 'Define one or more image format options [form
complete -c identify -o density -d 'Horizontal and vertical density of the image [geometry]'
complete -c identify -o depth -d 'Image depth [value]'
complete -c identify -o extract -d 'Extract area from image [geometry]'
-complete -c identify -o features -d 'Display image features (e.g. contrast, correlation) [distance]'
+complete -c identify -o features -d 'Display image features [distance]'
complete -c identify -o format -d 'Output formatted image characteristics ["string"]'
complete -c identify -o fuzz -d 'Colors within this distance are considered equal [distance]'
complete -c identify -o interlace -d 'Type of image interlacing scheme [type]' -xa '(identify -list interlace)'
complete -c identify -o interpolate -d 'Pixel color interpolation method [method]' -xa '(identify -list interpolate)'
complete -c identify -o limit -d 'Pixel cache resource limit [type value]' -x
-complete -c identify -o list -d 'Color, Configure, Delegate, Format, Magic, Module, Resource, or Type [type]' -xa '(identify -list list)'
+complete -c identify -o list -d 'Print a list of supported option arguments [type]' -xa '(identify -list list)'
complete -c identify -o matte -d 'Store matte channel if the image has one'
-complete -c identify -o monitor -d 'Monitor progress '
+complete -c identify -o monitor -d 'Monitor progress'
complete -c identify -o ping -d 'Efficiently determine image attributes'
complete -c identify -o quiet -d 'Suppress all warning messages'
complete -c identify -o regard-warnings -d 'Pay attention to warning messages'
complete -c identify -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c identify -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
-complete -c identify -o set -d 'Attribute set an image attribute [ value]'
+complete -c identify -o set -d 'Attribute set an image attribute [value]'
complete -c identify -o size -d 'Width and height of image [geometry]'
complete -c identify -o strip -d 'Strip image of all profiles and comments'
complete -c identify -o unique -d 'Display the number of unique colors in the image'
diff --git a/share/completions/import.fish b/share/completions/import.fish
index bb12ab76c..d34398631 100644
--- a/share/completions/import.fish
+++ b/share/completions/import.fish
@@ -24,7 +24,7 @@ complete -c import -o interlace -d 'None, Line, Plane, or Partition [type]' -xa
complete -c import -o interpolate -d 'Pixel color interpolation method [method]' -xa '(import -list interpolate)'
complete -c import -o label -d 'Assign a label to an image [string]'
complete -c import -o limit -d 'Area, Disk, Map, or Memory resource limit [type value]' -x
-complete -c import -o monitor -d 'Monitor progress '
+complete -c import -o monitor -d 'Monitor progress'
complete -c import -o page -d 'Size and location of an image canvas [geometry]'
complete -c import -o pause -d 'Seconds delay between snapshots [value]'
complete -c import -o pointsize -d 'Font point size [value]'
diff --git a/share/completions/mogrify.fish b/share/completions/mogrify.fish
index aec69c942..458c76f43 100644
--- a/share/completions/mogrify.fish
+++ b/share/completions/mogrify.fish
@@ -1,6 +1,6 @@
complete -c mogrify -o adjoin -d 'Join images into a single multi-image file'
complete -c mogrify -o affine -d 'Affine transform matrix [matrix]'
-complete -c mogrify -o antialias -d 'Remove pixel-aliasing '
+complete -c mogrify -o antialias -d 'Remove pixel-aliasing'
complete -c mogrify -o authenticate -d 'Decrypt image with this password [value]'
complete -c mogrify -o background -d 'Background color [color]' -xa '(__fish_complete_convert_options color)'
complete -c mogrify -o bias -d 'Add bias when convolving an image [value]'
@@ -47,7 +47,7 @@ complete -c mogrify -o loop -d 'Add Netscape loop extension to your GIF animatio
complete -c mogrify -o mask -d 'Associate a mask with the image [filename]' -r
complete -c mogrify -o matte -d 'Store matte channel if the image has one'
complete -c mogrify -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
-complete -c mogrify -o monitor -d 'Monitor progress '
+complete -c mogrify -o monitor -d 'Monitor progress'
complete -c mogrify -o morphology -d 'Apply a morphology method to the image [method kernel]' -xa '(mogrify -list morphology)'
complete -c mogrify -o orient -d 'Image orientation [type]' -xa '(mogrify -list orientation)'
complete -c mogrify -o origin -d 'Image origin [geometry]'
@@ -83,10 +83,10 @@ complete -c mogrify -o virtual-pixel -d 'Virtual pixel access method [method]' -
complete -c mogrify -o weight -d 'Render text with this font weight [type]' -x
complete -c mogrify -o white-point -d 'Chromaticity white point [point]'
complete -c mogrify -o adaptive-blur -d 'Adaptively blur pixels; decrease effect near edges [geometry]'
-complete -c mogrify -o adaptive-resize -d 'Adaptively resize image with data dependent triangulation [geometry]'
+complete -c mogrify -o adaptive-resize -d "Adaptively resize image using 'mesh' interpolation [geometry]"
complete -c mogrify -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges [geometry]'
complete -c mogrify -o annotate -d 'Annotate the image with text [geometry text]'
-complete -c mogrify -o auto-orient -d 'Automatically orient image'
+complete -c mogrify -o auto-orient -d 'Automatically orient (rotate) image'
complete -c mogrify -o black-threshold -d 'Force all pixels below the threshold into black [value]'
complete -c mogrify -o blur -d 'Reduce image noise and reduce detail levels [geometry]'
complete -c mogrify -o border -d 'Surround image with a border of color [geometry]'
@@ -107,7 +107,7 @@ complete -c mogrify -o edge -d 'Apply a filter to detect edges in the image [rad
complete -c mogrify -o emboss -d 'Emboss an image [radius]'
complete -c mogrify -o enhance -d 'Apply a digital filter to enhance a noisy image'
complete -c mogrify -o equalize -d 'Perform histogram equalization to an image'
-complete -c mogrify -o evaluate -d 'Evaluate an arithmetic, relational, or logical expression [operator value]'
+complete -c mogrify -o evaluate -d 'Alter channel pixels based on expression [operator]'
complete -c mogrify -o extent -d 'Set the image size [geometry]'
complete -c mogrify -o extract -d 'Extract area from image [geometry]'
complete -c mogrify -o fft -d 'Implements the discrete Fourier transform (DFT)'
@@ -168,7 +168,7 @@ complete -c mogrify -o sketch -d 'Simulate a pencil sketch [geometry]'
complete -c mogrify -o solarize -d 'Negate all pixels above the threshold level [threshold]'
complete -c mogrify -o splice -d 'Splice the background color into the image [geometry]'
complete -c mogrify -o spread -d 'Displace image pixels by a random amount [amount]'
-complete -c mogrify -o statistic -d 'Replace each pixel with corresponding statistic from the neighborhood [type geometry]' -xa '(mogrify -list statistic)'
+complete -c mogrify -o statistic -d 'Replace pixels with statistic from the neighborhood [type geometry]' -xa '(mogrify -list statistic)'
complete -c mogrify -o strip -d 'Strip image of all profiles and comments'
complete -c mogrify -o swirl -d 'Swirl image pixels about the center [degrees]'
complete -c mogrify -o threshold -d 'Threshold the image [value]'
@@ -187,14 +187,14 @@ complete -c mogrify -o vignette -d 'Soften the edges of the image in vignette st
complete -c mogrify -o wave -d 'Alter an image along a sine wave [geometry]'
complete -c mogrify -o white-threshold -d 'Force all pixels above the threshold into white [value]'
complete -c mogrify -o affinity -d 'Transform image colors to match this set of colors [filename]' -r
-complete -c mogrify -o append -d 'Append an image sequence top to botto (use +append for left to right)'
+complete -c mogrify -o append -d 'Append an image sequence'
complete -c mogrify -o clut -d 'Apply a color lookup table to the image'
complete -c mogrify -o coalesce -d 'Merge a sequence of images'
complete -c mogrify -o combine -d 'Combine a sequence of images'
-complete -c mogrify -o composite -d 'Composite image '
+complete -c mogrify -o composite -d 'Composite image'
complete -c mogrify -o crop -d 'Cut out a rectangular region of the image [geometry]'
complete -c mogrify -o deconstruct -d 'Break down an image sequence into constituent parts'
-complete -c mogrify -o evaluate-sequence -d 'Evaluate an arithmetic, relational, or logical expression [operator]'
+complete -c mogrify -o evaluate-sequence -d 'Alter channel pixels based on expression [operator]'
complete -c mogrify -o fx -d 'Apply mathematical expression to an image channel(s) [expression]'
complete -c mogrify -o hald-clut -d 'Apply a Hald color lookup table to the image'
complete -c mogrify -o morph -d 'Morph an image sequence [value]'
diff --git a/share/completions/montage.fish b/share/completions/montage.fish
index 7c4b59334..64a4010ff 100644
--- a/share/completions/montage.fish
+++ b/share/completions/montage.fish
@@ -1,6 +1,6 @@
complete -c montage -o adjoin -d 'Join images into a single multi-image file'
complete -c montage -o affine -d 'Affine transform matrix [matrix]'
-complete -c montage -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(montage -list alpha)'
+complete -c montage -o alpha -d 'Control alpha/matte channel of an image [option]' -xa '(montage -list alpha)'
complete -c montage -o authenticate -d 'Decipher image with this password [password]'
complete -c montage -o blue-primary -d 'Chromaticity blue primary point [point]'
complete -c montage -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
@@ -37,7 +37,7 @@ complete -c montage -o label -d 'Assign a label to an image [string]'
complete -c montage -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c montage -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
complete -c montage -o mode -d 'Framing style [type]' -xa '(montage -list mode)'
-complete -c montage -o monitor -d 'Monitor progress '
+complete -c montage -o monitor -d 'Monitor progress'
complete -c montage -o origin -d 'Image origin [geometry]'
complete -c montage -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c montage -o pointsize -d 'Font point size [value]'
@@ -51,13 +51,13 @@ complete -c montage -o respect-parentheses -d 'Settings remain in effect until p
complete -c montage -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c montage -o scenes -d 'Range image scene range'
complete -c montage -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
-complete -c montage -o set -d 'Attribute set an image attribute [ value]'
+complete -c montage -o set -d 'Attribute set an image attribute [value]'
complete -c montage -o shadow -d 'Add a shadow beneath a tile to simulate depth'
complete -c montage -o size -d 'Width and height of image [geometry]'
complete -c montage -o stroke -d 'Color to use when stroking a graphic primitive [color]' -xa '(__fish_complete_convert_options color)'
complete -c montage -o synchronize -d 'Synchronize image to storage device'
complete -c montage -o taint -d 'Declare the image as modified'
-complete -c montage -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c montage -o texture -d 'Texture name to tile onto the image background [filename]' -r
complete -c montage -o thumbnail -d 'Create a thumbnail of the image [geometry]'
complete -c montage -o tile -d 'Number of tiles per row and column [geometry]'
complete -c montage -o title -d 'Decorate the montage image with a title [string]'
@@ -68,8 +68,8 @@ complete -c montage -o units -d 'The units of image resolution [type]' -xa '(mon
complete -c montage -o verbose -d 'Print detailed information about the image'
complete -c montage -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(montage -list virtual-pixel)'
complete -c montage -o white-point -d 'Chromaticity white point [point]'
-complete -c montage -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges annotate geometry text annotate the image with text [geometry]'
-complete -c montage -o auto-orient -d 'Automagically orient image'
+complete -c montage -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges [geometry]'
+complete -c montage -o auto-orient -d 'Automagically orient (rotate) image'
complete -c montage -o blur -d 'Reduce image noise and reduce detail levels [geometry]'
complete -c montage -o border -d 'Surround image with a border of color [geometry]'
complete -c montage -o crop -d 'Preferred size and location of the cropped image [geometry]'
@@ -90,7 +90,7 @@ complete -c montage -o transparent -d 'Make this color transparent within the im
complete -c montage -o type -d 'Image type [type]' -xa '(montage -list type)'
complete -c montage -o unsharp -d 'Sharpen the image [geometry]'
complete -c montage -o coalesce -d 'Merge a sequence of images'
-complete -c montage -o composite -d 'Composite image '
+complete -c montage -o composite -d 'Composite image'
complete -c montage -o clone -d 'Clone an image [indexes]'
complete -c montage -o delete -d 'Delete the image from the image sequence [indexes]'
complete -c montage -o duplicate -d 'Duplicate an image one or more times [count,indexes]'
diff --git a/share/completions/stream.fish b/share/completions/stream.fish
index b50979943..cf5843110 100644
--- a/share/completions/stream.fish
+++ b/share/completions/stream.fish
@@ -11,14 +11,14 @@ complete -c stream -o interlace -d 'Type of image interlacing scheme [type]' -xa
complete -c stream -o interpolate -d 'Pixel color interpolation method [method]' -xa '(stream -list interpolate)'
complete -c stream -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c stream -o map -d 'Components one or more pixel components'
-complete -c stream -o monitor -d 'Monitor progress '
+complete -c stream -o monitor -d 'Monitor progress'
complete -c stream -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(stream -list colorspace)'
complete -c stream -o quiet -d 'Suppress all warning messages'
complete -c stream -o regard-warnings -d 'Pay attention to warning messages'
complete -c stream -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
complete -c stream -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c stream -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
-complete -c stream -o set -d 'Attribute set an image attribute [ value]'
+complete -c stream -o set -d 'Attribute set an image attribute [value]'
complete -c stream -o size -d 'Width and height of image [geometry]'
complete -c stream -o storage-type -d 'Pixel storage type [type]' -xa '(stream -list storage)'
complete -c stream -o synchronize -d 'Synchronize image to storage device'
From 48e686dae21a4b769e08b430143e5da1fc50f348 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 20:27:04 +0100
Subject: [PATCH 054/262] completions(latexmk): shorten descriptions
---
share/completions/latexmk.fish | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/share/completions/latexmk.fish b/share/completions/latexmk.fish
index ac1dc5eeb..d8b4b7874 100644
--- a/share/completions/latexmk.fish
+++ b/share/completions/latexmk.fish
@@ -6,25 +6,25 @@ complete -c latexmk -o bm -x -d 'Print message across the page when converting t
complete -c latexmk -o bi -x -d 'Set contrast or intensity of banner'
complete -c latexmk -o bs -x -d 'Set scale for banner'
complete -c latexmk -o commands -d 'list commands used by latexmk for processing files'
-complete -c latexmk -o c -d 'clean up (remove) all nonessential files, except dvi, ps and pdf files'
-complete -c latexmk -o C -o CA -d 'clean up (remove) all nonessential files'
-complete -c latexmk -o CF -d 'Remove file of database of file information before doing other actions'
+complete -c latexmk -o c -d 'Delete all nonessential files, except dvi, ps and pdf files'
+complete -c latexmk -o C -o CA -d 'Delete all nonessential files'
+complete -c latexmk -o CF -d 'Delete database file information file before other actions'
complete -c latexmk -o cd -d 'Change to directory of source file when processing it'
-complete -c latexmk -o cd- -d 'Do NOT change to directory of source file when processing it'
+complete -c latexmk -o cd- -d "Don't change to directory of source file when processing it"
complete -c latexmk -o dependents -o -deps -d 'Show list of dependent files after processing'
complete -c latexmk -o dependents- -o -deps- -d 'Do not show list of dependent files'
-complete -c latexmk -o deps-out= -r -d 'Set name of output file for dependency list, and turn on showing of dependency list'
+complete -c latexmk -o deps-out= -r -d 'Set dependency list file name, show dependency list'
complete -c latexmk -o dF -x -d 'Filter to apply to dvi file'
complete -c latexmk -o dvi -d 'generate dvi'
complete -c latexmk -o dvi- -d 'turn off required dvi'
-complete -c latexmk -o e -x -d 'Execute specified Perl code (as part of latexmk start-up code)'
+complete -c latexmk -o e -x -d 'Execute specified Perl code on start-up'
complete -c latexmk -o f -d 'force continued processing past errors'
complete -c latexmk -o f- -d 'turn off forced continuing processing past errors'
complete -c latexmk -o gg -d 'Super go mode: clean out generated files before processing'
complete -c latexmk -o g -d 'process regardless of file timestamps'
complete -c latexmk -o g- -d 'Turn off -g'
complete -c latexmk -o h -o help -d 'print help'
-complete -c latexmk -o jobname= -x -d 'set basename of output file(s) to STRING'
+complete -c latexmk -o jobname= -x -d 'set basename of output files to STRING'
complete -c latexmk -o l -d 'force landscape mode'
complete -c latexmk -o l- -d 'turn off -l'
complete -c latexmk -o latex= -d 'set program used for latex' -xa '(__fish_complete_command)'
From cd529377710a07a9d656d9fc35b99363763e976b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Thu, 20 Jan 2022 20:48:12 +0100
Subject: [PATCH 055/262] completions(sass): shorten descriptions
---
share/completions/sass-convert.fish | 30 ++++++++---------
share/completions/sass.fish | 48 +++++++++++++--------------
share/completions/scss.fish | 50 ++++++++++++++---------------
3 files changed, 64 insertions(+), 64 deletions(-)
diff --git a/share/completions/sass-convert.fish b/share/completions/sass-convert.fish
index 6f45e7154..bdda9be76 100644
--- a/share/completions/sass-convert.fish
+++ b/share/completions/sass-convert.fish
@@ -9,45 +9,45 @@
# -F, --from FORMAT The format to convert from. Can be css, scss, sass.
# By default, this is inferred from the input filename.
# If there is none, defaults to css.
-complete -c sass-convert -s F -l from -x -a "css scss sass" -d "The format to convert from. Can be css, scss, sass. By default, this is inferred from the input filename. If there is none, defaults to css."
+complete -c sass-convert -s F -l from -x -a "css scss sass" -d "The format to convert from"
# -T, --to FORMAT The format to convert to. Can be scss or sass.
# By default, this is inferred from the output filename.
# If there is none, defaults to sass.
-complete -c sass-convert -s T -l to -x -a "scss sass" -d "The format to convert to. Can be scss or sass. By default, this is inferred from the output filename. If there is none, defaults to sass."
+complete -c sass-convert -s T -l to -x -a "scss sass" -d "The format to convert to"
# -i, --in-place Convert a file to its own syntax.
# This can be used to update some deprecated syntax.
-complete -c sass-convert -s i -l in-place -d "Convert a file to its own syntax. This can be used to update some deprecated syntax."
+complete -c sass-convert -s i -l in-place -d "Convert a file to its own syntax"
# -R, --recursive Convert all the files in a directory. Requires --from and --to.
-complete -c sass-convert -s R -l recursive -d "Convert all the files in a directory. Requires --from and --to."
+complete -c sass-convert -s R -l recursive -d "Convert all the files in a directory"
# -?, -h, --help Show this help message.
-complete -c sass-convert -s '?' -s h -l help -f -d "Show help message."
+complete -c sass-convert -s '?' -s h -l help -f -d "Show help message"
# -v, --version Print the Sass version.
-complete -c sass-convert -s v -l version -f -d "Print the Sass version."
+complete -c sass-convert -s v -l version -f -d "Print the Sass version"
# Style:
# --dasherize Convert underscores to dashes.
-complete -c sass-convert -l dasherize -d "Convert underscores to dashes."
+complete -c sass-convert -l dasherize -d "Convert underscores to dashes"
# --indent NUM How many spaces to use for each level of indentation. Defaults to 2.
# "t" means use hard tabs.
-complete -c sass-convert -l indent -x -d "How many spaces to use for each level of indentation. Defaults to 2. 't' means use hard tabs."
+complete -c sass-convert -l indent -x -d "How many spaces to use for each level of indentation"
# --old Output the old-style ":prop val" property syntax.
# Only meaningful when generating Sass.
-complete -c sass-convert -l old -d "Output the old-style ':prop val' property syntax. Only meaningful when generating Sass."
+complete -c sass-convert -l old -d "Output the old-style ':prop val' property syntax"
# Input and Output:
# -s, --stdin Read input from standard input instead of an input file.
# This is the default if no input file is specified. Requires --from.
-complete -c sass-convert -s s -l stdin -d "Read input from standard input instead of an input file. This is the default if no input file is specified. Requires --from."
+complete -c sass-convert -s s -l stdin -d "Read input from standard input instead of an input file"
# -E, --default-encoding ENCODING Specify the default encoding for input files.
-complete -c sass-convert -s E -l default-encoding -x -d "Specify the default encoding for input files."
+complete -c sass-convert -s E -l default-encoding -x -d "Specify the default encoding for input files"
# --unix-newlines Use Unix-style newlines in written files.
# Always true on Unix.
-complete -c sass-convert -l unix-newlines -d "Use Unix-style newlines in written files. Always true on Unix."
+complete -c sass-convert -l unix-newlines -d "Use Unix-style newlines in written files"
# Miscellaneous:
# --cache-location PATH The path to save parsed Sass files. Defaults to .sass-cache.
-complete -c sass-convert -l cache-location -r -d "The path to save parsed Sass files. Defaults to .sass-cache."
+complete -c sass-convert -l cache-location -r -d "The path to save parsed Sass files"
# -C, --no-cache Don't cache to sassc files.
-complete -c sass-convert -s C -l no-cache -d "Don't cache to sassc files."
+complete -c sass-convert -s C -l no-cache -d "Don't cache to sassc files"
# --trace Show a full Ruby stack trace on error
-complete -c sass-convert -l trace -d "Show a full Ruby stack trace on error."
+complete -c sass-convert -l trace -d "Show a full Ruby stack trace on error"
diff --git a/share/completions/sass.fish b/share/completions/sass.fish
index 95a2c1441..1c7421ff7 100644
--- a/share/completions/sass.fish
+++ b/share/completions/sass.fish
@@ -5,36 +5,36 @@
# Common Options:
# -I, --load-path PATH Specify a Sass import path.
-complete -c sass -s I -l load-path -r -d "Specify a Sass import path."
+complete -c sass -s I -l load-path -r -d "Specify a import path"
# -r, --require LIB Require a Ruby library before running Sass.
-complete -c sass -s r -l require -x -d "Require a Ruby library before running Sass."
+complete -c sass -s r -l require -x -d "Require a Ruby library before running"
# --compass Make Compass imports available and load project configuration.
-complete -c sass -l compass -d "Make Compass imports available and load project configuration."
+complete -c sass -l compass -d "Enable Compass imports and load project configuration"
# -t, --style NAME Output style. Can be nested (default), compact, compressed, or expanded.
-complete -c sass -s t -l style -x -a "nested compact compressed expanded" -d "Output style. Can be nested (default), compact, compressed, or expanded."
+complete -c sass -s t -l style -x -a "nested compact compressed expanded" -d "Output style"
# -?, -h, --help Show this help message.
-complete -c sass -s '?' -s h -l help -f -d "Show help message."
+complete -c sass -s '?' -s h -l help -f -d "Show help message"
# -v, --version Print the Sass version.
-complete -c sass -s v -l version -f -d "Print the Sass version."
+complete -c sass -s v -l version -f -d "Print the version"
# Watching and Updating:
# --watch Watch files or directories for changes.
# The location of the generated CSS can be set using a colon:
# sass --watch input.sass:output.css
# sass --watch input-dir:output-dir
-complete -c sass -l watch -d "Watch files or directories for changes. The location of the generated CSS can be set using a colon: input.sass:output.css input-dir:output-dir"
+complete -c sass -l watch -d "Watch files or directories for changes"
# --poll Check for file changes manually, rather than relying on the OS.
# Only meaningful for --watch.
-complete -c sass -l poll -d "Check for file changes manually, rather than relying on the OS. Only meaningful for --watch."
+complete -c sass -l poll -d "Check for file changes manually, don't rely on OS"
# --update Compile files or directories to CSS.
# Locations are set like --watch.
-complete -c sass -l update -d "Compile files or directories to CSS. The location of the generated CSS can be set using a colon: input.sass:output.css input-dir:output-dir"
+complete -c sass -l update -d "Compile files or directories to CSS"
# -f, --force Recompile every Sass file, even if the CSS file is newer.
# Only meaningful for --update.
-complete -c sass -s f -l force -d "Recompile every Sass file, even if the CSS file is newer. Only meaningful for --update."
+complete -c sass -s f -l force -d "Recompile every Sass file, even if the CSS file is newer"
# --stop-on-error If a file fails to compile, exit immediately.
# Only meaningful for --watch and --update.
-complete -c sass -l stop-on-error -d "If a file fails to compile, exit immediately. Only meaningful for --watch and --update."
+complete -c sass -l stop-on-error -d "If a file fails to compile, exit immediately"
# Input and Output:
# --scss Use the CSS-superset SCSS syntax.
@@ -47,34 +47,34 @@ complete -c sass -l scss -d "Use the CSS-superset SCSS syntax."
complete -c sass -l sourcemap -x -a "auto\t'(default) relative paths where possible, file URIs elsewhere'
sfile\t'always absolute file URIs'
inline\t'include the source text in the sourcemap'
-none\t'no sourcemaps'" -d "How to link generated output to the source files."
+none\t'no sourcemaps'" -d "How to link generated output to the source files"
# -s, --stdin Read input from standard input instead of an input file.
# This is the default if no input file is specified.
-complete -c sass -s s -l stdin -d "Read input from standard input instead of an input file. This is the default if no input file is specified."
+complete -c sass -s s -l stdin -d "Read input from standard input instead of an input file"
# -E, --default-encoding ENCODING Specify the default encoding for input files.
-complete -c sass -s E -l default-encoding -x -d "Specify the default encoding for input files."
+complete -c sass -s E -l default-encoding -x -d "Specify the default encoding for input files"
# --unix-newlines Use Unix-style newlines in written files.
# Always true on Unix.
-complete -c sass -l unix-newlines -d "Use Unix-style newlines in written files. Always true on Unix."
+complete -c sass -l unix-newlines -d "Use Unix-style newlines in written files"
# -g, --debug-info Emit output that can be used by the FireSass Firebug plugin.
-complete -c sass -s g -l debug-info -d "Emit output that can be used by the FireSass Firebug plugin."
+complete -c sass -s g -l debug-info -d "Emit output that can be used by the FireSass Firebug plugin"
# -l, --line-numbers Emit comments in the generated CSS indicating the corresponding source line.
# --line-comments
-complete -c sass -s l -l line-numbers -l line-comments -d "Emit comments in the generated CSS indicating the corresponding source line."
+complete -c sass -s l -l line-numbers -l line-comments -d "Indicate corresponding source line with comments"
# Miscellaneous:
# -i, --interactive Run an interactive SassScript shell.
-complete -c sass -s i -l interactive -d "Run an interactive SassScript shell."
+complete -c sass -s i -l interactive -d "Run an interactive SassScript shell"
# -c, --check Just check syntax, don't evaluate.
-complete -c sass -s c -l check -d "Just check syntax, don't evaluate."
+complete -c sass -s c -l check -d "Just check syntax, don't evaluate"
# --precision NUMBER_OF_DIGITS How many digits of precision to use when outputting decimal numbers.
# Defaults to 5.
-complete -c sass -l precision -x -d "How many digits of precision to use when outputting decimal numbers. Defaults to 5."
+complete -c sass -l precision -x -d "Set precision when outputting decimal numbers"
# --cache-location PATH The path to save parsed Sass files. Defaults to .sass-cache.
-complete -c sass -l cache-location -r -d "The path to save parsed Sass files. Defaults to .sass-cache."
+complete -c sass -l cache-location -r -d "The path to save parsed Sass files"
# -C, --no-cache Don't cache parsed Sass files.
-complete -c sass -s C -l no-cache -d "Don't cache parsed Sass files."
+complete -c sass -s C -l no-cache -d "Don't cache parsed Sass files"
# --trace Show a full Ruby stack trace on error.
-complete -c sass -l trace -d "Show a full Ruby stack trace on error."
+complete -c sass -l trace -d "Show a full Ruby stack trace on error"
# -q, --quiet Silence warnings and status messages during compilation.
-complete -c sass -s q -l quiet -d "Silence warnings and status messages during compilation."
+complete -c sass -s q -l quiet -d "Silence warnings and status messages during compilation"
diff --git a/share/completions/scss.fish b/share/completions/scss.fish
index 0b8765693..23e8f7e7a 100644
--- a/share/completions/scss.fish
+++ b/share/completions/scss.fish
@@ -5,77 +5,77 @@
# Common Options:
# -I, --load-path PATH Specify a Sass import path.
-complete -c scss -s I -l load-path -r -d "Specify a Sass import path."
+complete -c scss -s I -l load-path -r -d "Specify a Sass import path"
# -r, --require LIB Require a Ruby library before running Sass.
-complete -c scss -s r -l require -r -d "Require a Ruby library before running Sass."
+complete -c scss -s r -l require -r -d "Require a Ruby library before running Sass"
# --compass Make Compass imports available and load project configuration.
-complete -c scss -l compass -d "Make Compass imports available and load project configuration."
+complete -c scss -l compass -d "Enable Compass imports and load project configuration"
# -t, --style NAME Output style. Can be nested (default), compact, compressed, or expanded.
-complete -c scss -s t -l style -x -a "nested compact compressed expanded" -d "Output style. Can be nested (default), compact, compressed, or expanded."
+complete -c scss -s t -l style -x -a "nested compact compressed expanded" -d "Output style"
# -?, -h, --help Show this help message.
-complete -c scss -s '?' -s h -l help -f -d "Show help message."
+complete -c scss -s '?' -s h -l help -f -d "Show help message"
# -v, --version Print the Sass version.
-complete -c scss -s v -l version -f -d "Print the Sass version."
+complete -c scss -s v -l version -f -d "Print the Sass version"
# Watching and Updating:
# --watch Watch files or directories for changes.
# The location of the generated CSS can be set using a colon:
# scss --watch input.scss:output.css
# scss --watch input-dir:output-dir
-complete -c scss -l watch -d "Watch files or directories for changes. The location of the generated CSS can be set using a colon: input.scss:output.css input-dir:output-dir"
+complete -c scss -l watch -d "Watch files or directories for changes"
# --poll Check for file changes manually, rather than relying on the OS.
# Only meaningful for --watch.
-complete -c scss -l poll -d "Check for file changes manually, rather than relying on the OS. Only meaningful for --watch."
+complete -c scss -l poll -d "Check for file changes manually, don't rely on OS"
# --update Compile files or directories to CSS.
# Locations are set like --watch.
-complete -c scss -l update -d "Compile files or directories to CSS. The location of the generated CSS can be set using a colon: input.scss:output.css input-dir:output-dir"
+complete -c scss -l update -d "Compile files or directories to CSS"
# -f, --force Recompile every Sass file, even if the CSS file is newer.
# Only meaningful for --update.
-complete -c scss -s f -l force -d "Recompile every Sass file, even if the CSS file is newer. Only meaningful for --update."
+complete -c scss -s f -l force -d "Recompile every Sass file, even if the CSS file is newer"
# --stop-on-error If a file fails to compile, exit immediately.
# Only meaningful for --watch and --update.
-complete -c scss -l stop-on-error -d "If a file fails to compile, exit immediately. Only meaningful for --watch and --update."
+complete -c scss -l stop-on-error -d "If a file fails to compile, exit immediately"
# Input and Output:
# --sass Use the indented Sass syntax.
-complete -c scss -l sass -d "Use the indented Sass syntax."
+complete -c scss -l sass -d "Use the indented Sass syntax"
# --sourcemap=TYPE How to link generated output to the source files.
# auto (default): relative paths where possible, file URIs elsewhere
# file: always absolute file URIs
# inline: include the source text in the sourcemap
# none: no sourcemaps
-complete -c scss -l sourcemap -x -d "How to link generated output to the source files." -a \
+complete -c scss -l sourcemap -x -d "How to link generated output to the source files" -a \
"auto\t'(default) relative paths where possible, file URIs elsewhere'
file\t'always absolute file URIs'
inline\t'include the source text in the sourcemap'
none\t'no sourcemaps'"
# -s, --stdin Read input from standard input instead of an input file.
# This is the default if no input file is specified.
-complete -c scss -s s -l stdin -d "Read input from standard input instead of an input file. This is the default if no input file is specified."
+complete -c scss -s s -l stdin -d "Read input from standard input instead of an input file"
# -E, --default-encoding ENCODING Specify the default encoding for input files.
-complete -c scss -s E -l default-encoding -x -d "Specify the default encoding for input files."
+complete -c scss -s E -l default-encoding -x -d "Specify the default encoding for input files"
# --unix-newlines Use Unix-style newlines in written files.
# Always true on Unix.
-complete -c scss -l unix-newlines -d "Use Unix-style newlines in written files. Always true on Unix."
+complete -c scss -l unix-newlines -d "Use Unix-style newlines in written files"
# -g, --debug-info Emit output that can be used by the FireSass Firebug plugin.
-complete -c scss -s g -l debug-info -d "Emit output that can be used by the FireSass Firebug plugin."
+complete -c scss -s g -l debug-info -d "Emit output that can be used by the FireSass Firebug plugin"
# -l, --line-numbers Emit comments in the generated CSS indicating the corresponding source line.
# --line-comments
-complete -c scss -s l -l line-numbers -l line-comments -d "Emit comments in the generated CSS indicating the corresponding source line."
+complete -c scss -s l -l line-numbers -l line-comments -d "Indicate corresponding source line with comments"
# Miscellaneous:
# -i, --interactive Run an interactive SassScript shell.
-complete -c scss -s i -l interactive -d "Run an interactive SassScript shell."
+complete -c scss -s i -l interactive -d "Run an interactive SassScript shell"
# -c, --check Just check syntax, don't evaluate.
-complete -c scss -s c -l check -d "Just check syntax, don't evaluate."
+complete -c scss -s c -l check -d "Just check syntax, don't evaluate"
# --precision NUMBER_OF_DIGITS How many digits of precision to use when outputting decimal numbers.
# Defaults to 5.
-complete -c scss -l precision -x -d "How many digits of precision to use when outputting decimal numbers. Defaults to 5."
+complete -c scss -l precision -x -d "Set precision when outputting decimal numbers"
# --cache-location PATH The path to save parsed Sass files. Defaults to .sass-cache.
-complete -c scss -l cache-location -r -d "The path to save parsed Sass files. Defaults to .sass-cache."
+complete -c scss -l cache-location -r -d "The path to save parsed Sass files"
# -C, --no-cache Don't cache parsed Sass files.
-complete -c scss -s C -l no-cache -d "Don't cache parsed Sass files."
+complete -c scss -s C -l no-cache -d "Don't cache parsed Sass files"
# --trace Show a full Ruby stack trace on error.
-complete -c scss -l trace -d "Show a full Ruby stack trace on error."
+complete -c scss -l trace -d "Show a full Ruby stack trace on error"
# -q, --quiet Silence warnings and status messages during compilation.
-complete -c scss -s q -l quiet -d "Silence warnings and status messages during compilation."
+complete -c scss -s q -l quiet -d "Silence warnings and status messages during compilation"
From f45ca4aca4909e6cea1a3ab9ab88fc8862b1e4fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Fri, 21 Jan 2022 17:28:19 +0100
Subject: [PATCH 056/262] completions(postgresql): shorten descriptions
---
share/completions/pg_dump.fish | 10 +++++-----
share/completions/pg_dumpall.fish | 6 +++---
share/completions/pg_restore.fish | 14 +++++++-------
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/share/completions/pg_dump.fish b/share/completions/pg_dump.fish
index d35943560..688060590 100644
--- a/share/completions/pg_dump.fish
+++ b/share/completions/pg_dump.fish
@@ -3,13 +3,13 @@ complete -c pg_dump --no-files -a '(__fish_complete_pg_database)'
# General options:
complete -c pg_dump -s f -l file -r -d "Output file or directory name"
complete -c pg_dump -s F -l format -x -a "p\t'Plain text' c\t'Custom format' d\t'Directory archive' t\t'Tar archive'" -d "Output file format"
-complete -c pg_dump -s j -l jobs -x -d "Use this many parallel jobs to dump"
+complete -c pg_dump -s j -l jobs -x -d "Number of parallel jobs to dump"
complete -c pg_dump -s v -l verbose -d "Verbose mode"
-complete -c pg_dump -s V -l version -d "Output version information, then exit"
+complete -c pg_dump -s V -l version -d "Output version information"
complete -c pg_dump -s Z -l compress -x -d "Compression level for compressed formats"
complete -c pg_dump -l lock-wait-timeout -x -d "Fail after waiting TIMEOUT for a table lock"
complete -c pg_dump -l no-sync -d "Do not wait for changes to be written safely to disk"
-complete -c pg_dump -s '?' -l help -d "Show this help, then exit"
+complete -c pg_dump -s '?' -l help -d "Show this help"
# Options controlling the output content:
complete -c pg_dump -s a -l data-only -d "Dump only the data, not the schema"
@@ -47,8 +47,8 @@ complete -c pg_dump -l quote-all-identifiers -d "Quote all identifiers, even if
complete -c pg_dump -l section -x -a "pre-data data post-data" -d "Dump named section (pre-data, data, or post-data)"
complete -c pg_dump -l serializable-deferrable -d "Wait until the dump can run without anomalies"
complete -c pg_dump -l snapshot -x -d "Use given snapshot for the dump"
-complete -c pg_dump -l strict-names -d "Require table and/or schema include patterns to match at least one entity each"
-complete -c pg_dump -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership"
+complete -c pg_dump -l strict-names -d "Require table/schema include patterns to match entities"
+complete -c pg_dump -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION instead of ALTER OWNER"
# Connection options:
complete -c pg_dump -s d -l dbname -x -a '(__fish_complete_pg_database)' -d "Database to dump"
diff --git a/share/completions/pg_dumpall.fish b/share/completions/pg_dumpall.fish
index 347474d2c..7ee3b54e2 100644
--- a/share/completions/pg_dumpall.fish
+++ b/share/completions/pg_dumpall.fish
@@ -3,9 +3,9 @@ complete -c pg_dumpall --no-files
# General options:
complete -c pg_dumpall -s f -l file -r -d "Output file name"
complete -c pg_dumpall -s v -l verbose -d "Verbose mode"
-complete -c pg_dumpall -s V -l version -d "Output version information, then exit"
+complete -c pg_dumpall -s V -l version -d "Output version information"
complete -c pg_dumpall -l lock-wait-timeout -x -d "Fail after waiting TIMEOUT for a table lock"
-complete -c pg_dumpall -s '?' -l help -d "Show this help, then exit"
+complete -c pg_dumpall -s '?' -l help -d "Show this help"
# Options controlling the output content:
complete -c pg_dumpall -s a -l data-only -d "Dump only the data, not the schema"
@@ -35,7 +35,7 @@ complete -c pg_dumpall -l no-sync -d "Do not wait for changes to be written safe
complete -c pg_dumpall -l no-tablespaces -d "Do not dump tablespace assignments"
complete -c pg_dumpall -l no-unlogged-table-data -d "Do not dump unlogged table data"
complete -c pg_dumpall -l quote-all-identifiers -d "Quote all identifiers, even if not key words"
-complete -c pg_dumpall -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership"
+complete -c pg_dumpall -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION instead of ALTER OWNER"
# Connection options:
complete -c pg_dumpall -s d -l dbname -x -a '(__fish_complete_pg_database)' -d "Database to dump"
diff --git a/share/completions/pg_restore.fish b/share/completions/pg_restore.fish
index 18abf654e..df8cdea85 100644
--- a/share/completions/pg_restore.fish
+++ b/share/completions/pg_restore.fish
@@ -4,8 +4,8 @@ complete -c pg_restore -s f -l file -a - -r -d "Output file name (- for stdout)"
complete -c pg_restore -s F -l format -x -a "c\t'Custom format (pg_dump)' d\t'Directory archive' t\t'Tar archive'" -d "Backup file format (should be automatic)"
complete -c pg_restore -s l -l list -d "Print summarized TOC of the archive"
complete -c pg_restore -s v -l verbose -d "Verbose mode"
-complete -c pg_restore -s V -l version -d "Output version information, then exit"
-complete -c pg_restore -s '?' -l help -d "Show help, then exit"
+complete -c pg_restore -s V -l version -d "Output version information"
+complete -c pg_restore -s '?' -l help -d "Show help"
# Options controlling the restore:
complete -c pg_restore -s a -l data-only -d "Restore only the data, no schema"
@@ -13,8 +13,8 @@ complete -c pg_restore -s c -l clean -d "Clean (drop) database objects before re
complete -c pg_restore -s C -l create -d "Create the target database"
complete -c pg_restore -s e -l exit-on-error -d "Exit on error, default is to continue"
complete -c pg_restore -s I -l index -x -d "Restore named index"
-complete -c pg_restore -s j -l jobs -x -d "Use this many parallel jobs to restore"
-complete -c pg_restore -s L -l use-list -r -d "Use table of contents from this file for selecting/ordering output"
+complete -c pg_restore -s j -l jobs -x -d "Number of parallel jobs to restore"
+complete -c pg_restore -s L -l use-list -r -d "Use table of contents from this file"
complete -c pg_restore -s n -l schema -x -d "Restore only objects in this schema"
complete -c pg_restore -s N -l exclude-schema -x -d "Do not restore objects in this schema"
complete -c pg_restore -s O -l no-owner -d "Skip restoration of object ownership"
@@ -29,14 +29,14 @@ complete -c pg_restore -l disable-triggers -d "Disable triggers during data-only
complete -c pg_restore -l enable-row-security -d "Enable row security"
complete -c pg_restore -l if-exists -d "Use IF EXISTS when dropping objects"
complete -c pg_restore -l no-comments -d "Do not restore comments"
-complete -c pg_restore -l no-data-for-failed-tables -d "Do not restore data of tables that could not be created"
+complete -c pg_restore -l no-data-for-failed-tables -d "Don't restore data of tables that could not be created"
complete -c pg_restore -l no-publications -d "Do not restore publications"
complete -c pg_restore -l no-security-labels -d "Do not restore security labels"
complete -c pg_restore -l no-subscriptions -d "Do not restore subscriptions"
complete -c pg_restore -l no-tablespaces -d "Do not restore tablespace assignments"
complete -c pg_restore -l section -x -d "Restore named section (pre-data, data, or post-data)"
-complete -c pg_restore -l strict-names -d "Require table and/or schema include patterns to match at least one entity each"
-complete -c pg_restore -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership"
+complete -c pg_restore -l strict-names -d "Require table/schema include patterns to match entities"
+complete -c pg_restore -l use-set-session-authorization -d "Use SET SESSION AUTHORIZATION instead of ALTER OWNER"
# Connection options:
complete -c pg_restore -s h -l host -x -a '(__fish_print_hostnames)' -d "Database server host or socket directory"
From 954de4441492bbea15af125e52ef4c29301a97b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Fri, 21 Jan 2022 22:49:19 +0100
Subject: [PATCH 057/262] mocp
---
share/completions/mocp.fish | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/share/completions/mocp.fish b/share/completions/mocp.fish
index ef1493563..321a9bf01 100644
--- a/share/completions/mocp.fish
+++ b/share/completions/mocp.fish
@@ -1,32 +1,32 @@
-complete -c mocp -s V -l version -d "Print program version and exit"
-complete -c mocp -s h -l help -d "Print usage and exit"
+complete -c mocp -s V -l version -d "Print program version"
+complete -c mocp -s h -l help -d "Print usage"
complete -c mocp -s D -l debug -d "Turn on logging to a file"
complete -c mocp -s S -l server -d "Run only the server"
complete -c mocp -s F -l foreground -d "Run server in foreground, log to stdout"
complete -c mocp -s R -l sound-driver -d "Use the specified sound driver" -xa 'oss alsa jack null'
complete -c mocp -s m -l music-dir -r -d "Start in MusicDir"
-complete -c mocp -s a -l append -r -d "Append the files/directories/playlists passed in the command line to playlist and exit"
-complete -c mocp -s q -l enqueue -r -d "Add the files given on command line to the queue"
-complete -c mocp -s c -l clear -d "Clear the playlist and exit"
+complete -c mocp -s a -l append -r -d "Append the files/directories/playlists to playlist"
+complete -c mocp -s q -l enqueue -r -d "Add files to the queue"
+complete -c mocp -s c -l clear -d "Clear the playlist"
complete -c mocp -s p -l play -r -d "Start playing from the first item on the playlist"
-complete -c mocp -s l -l playit -r -d "Play files given on command line without modifying the playlist"
+complete -c mocp -s l -l playit -r -d "Play files without modifying the playlist"
complete -c mocp -s s -l stop -d "Stop playing"
complete -c mocp -s f -l next -d "Play next song"
complete -c mocp -s r -l previous -d "Play previous song"
complete -c mocp -s x -l exit -d "Shutdown the server"
-complete -c mocp -s T -l theme -r -d "Use selected theme file (read from ~/.moc/themes if the path is not absolute"
-complete -c mocp -s C -l config -r -d "Use the specified config file instead of the default"
+complete -c mocp -s T -l theme -r -d "Use selected theme file"
+complete -c mocp -s C -l config -r -d "Use config file instead of the default"
complete -c mocp -s O -l set-option -r -d "NAME=VALUE Override configuration option NAME with VALUE"
-complete -c mocp -s M -l moc-dir -r -d "Use the specified MOC directory instead of the default"
+complete -c mocp -s M -l moc-dir -r -d "Use MOC directory instead of the default"
complete -c mocp -s P -l pause -d Pause
complete -c mocp -s U -l unpause -d Unpause
complete -c mocp -s G -l toggle-pause -d "Toggle between play/pause"
complete -c mocp -s v -l volume -d "(+/-)LEVEL Adjust PCM volume" -xa '+ -'
complete -c mocp -s y -l sync -d "Synchronize the playlist with other clients"
-complete -c mocp -s n -l nosync -d "Don't synchronize the playlist with other client's"
+complete -c mocp -s n -l nosync -d "Don't synchronize the playlist with other clients"
complete -c mocp -s A -l ascii -d "Use ASCII characters to draw lines"
-complete -c mocp -s i -l info -d "Print the information about the currently played file"
-complete -c mocp -s Q -l format -rf -d "Print the formatted information about the currently played file"
+complete -c mocp -s i -l info -d "Print information about the currently played file"
+complete -c mocp -s Q -l format -rf -d "Print formatted information about currently played file"
complete -c mocp -s e -l recursively -d "Alias for -a"
complete -c mocp -s k -l seek -rf -d "Seek by N seconds (can be negative)"
complete -c mocp -s j -l jump -rf -d "N{%,s} Jump to some position of the current track"
From 864f5ca254c4bf6c543608d05398076a0fa4ee8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Fri, 21 Jan 2022 22:53:57 +0100
Subject: [PATCH 058/262] lpstat
---
share/completions/lpstat.fish | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/share/completions/lpstat.fish b/share/completions/lpstat.fish
index 3a1effd2a..54b8479c2 100644
--- a/share/completions/lpstat.fish
+++ b/share/completions/lpstat.fish
@@ -1,15 +1,15 @@
__fish_complete_lpr lpstat
-complete -c lpstat -s H -d 'Show the server hostname and port'
-complete -c lpstat -s R -d 'Shows the ranking of print jobs'
-complete -c lpstat -s W -d 'Specifies which jobs to show' -xa 'completed not-completed'
-complete -c lpstat -s a -d 'Shows the accepting state of selected printer queues' -xa '(__fish_print_lpr_printers)'
-complete -c lpstat -s c -x -d 'Shows the printer classes and the printers that belong to them. If no classes are specified then all classes are listed'
+complete -c lpstat -s H -d 'Show server hostname and port'
+complete -c lpstat -s R -d 'Shows ranking of print jobs'
+complete -c lpstat -s W -d 'Specify which jobs to show' -xa 'completed not-completed'
+complete -c lpstat -s a -d 'Shows accepting state of selected printer queues' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s c -x -d 'Shows printer classes and the printers that belong to them'
complete -c lpstat -s d -d 'Shows the current default destination'
-complete -c lpstat -s l -d 'Shows a long listing of printers, classes, or jobs'
-complete -c lpstat -s o -d 'Shows the jobs queue on the specified destinations' -xa '(__fish_print_lpr_printers)'
-complete -c lpstat -s p -d 'Shows the printers and whether or not they are enabled for printing' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s l -d 'Shows list of printers, classes, or jobs'
+complete -c lpstat -s o -d 'Shows jobs queue on the specified destinations' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s p -d 'Shows printers and if they are enabled for printing' -xa '(__fish_print_lpr_printers)'
complete -c lpstat -s r -d 'Shows whether the CUPS server is running'
-complete -c lpstat -s s -d 'Shows a status summary, including the default destination'
+complete -c lpstat -s s -d 'Shows a status summary, including default destination'
complete -c lpstat -s t -d 'Shows all status information'
complete -c lpstat -s u -d 'Shows a list of print jobs queued by the specified users' -xa '(__fish_complete_users)'
-complete -c lpstat -s v -d 'Shows the printers and what device they are attached to' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s v -d 'Shows printers and what device they are attached to' -xa '(__fish_print_lpr_printers)'
From e8af17c191a754c4d866746382e468996bbca8a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Fri, 21 Jan 2022 23:00:32 +0100
Subject: [PATCH 059/262] lpadmin
---
share/completions/lpadmin.fish | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/share/completions/lpadmin.fish b/share/completions/lpadmin.fish
index 6e9d83c52..c70ba55ce 100644
--- a/share/completions/lpadmin.fish
+++ b/share/completions/lpadmin.fish
@@ -2,30 +2,30 @@ complete -c lpadmin -s c -d 'Adds the named printer to class' -x
complete -c lpadmin -s i -d 'Sets a System V style interface script for the printer' -x
complete -c lpadmin -s m -d 'Sets a standard System V interface script or PPD file ' -x
complete -c lpadmin -s R -d 'Deletes the named option from printer' -xa '(__fish_print_lpr_options)'
-complete -c lpadmin -s r -d 'Removes the named printer from class. If the resulting class becomes empty it is removed' -x
+complete -c lpadmin -s r -d 'Removes the named printer from class' -x
complete -c lpadmin -s v -d 'Sets the device-uri attribute of the printer queue' -r
complete -c lpadmin -s D -d 'Provides a textual description of the destination' -x
complete -c lpadmin -s E -d 'Enables the destination and accepts jobs'
complete -c lpadmin -s L -d 'Provides a textual location of the destination' -x
-complete -c lpadmin -s P -d 'Specifies a PostScript Printer Description file to use with the printer' -k -xa "(__fish_complete_suffix .ppd; __fish_complete_suffix .ppd.gz)"
-complete -c lpadmin -s o -xa cupsIPPSupplies=true -d 'Specifies whether IPP supply level values should be reported'
-complete -c lpadmin -s o -xa cupsIPPSupplies=false -d 'Specifies whether IPP supply level values should be reported'
-complete -c lpadmin -s o -xa cupsSNMPSupplies=true -d 'Specifies whether SNMP supply level (RFC 3805) values should be reported'
-complete -c lpadmin -s o -xa cupsSNMPSupplies=false -d 'Specifies whether SNMP supply level (RFC 3805) values should be reported'
-complete -c lpadmin -s o -xa job-k-limit= -d 'Sets the kilobyte limit for per-user quotas. The value is an integer number of kilobytes (1024)'
+complete -c lpadmin -s P -d 'Specify a PDD file to use with the printer' -k -xa "(__fish_complete_suffix .ppd; __fish_complete_suffix .ppd.gz)"
+complete -c lpadmin -s o -xa cupsIPPSupplies=true -d 'Specify if IPP supply level values should be reported'
+complete -c lpadmin -s o -xa cupsIPPSupplies=false -d 'Specify if IPP supply level values should be reported'
+complete -c lpadmin -s o -xa cupsSNMPSupplies=true -d 'Specify if SNMP supply level values should be reported'
+complete -c lpadmin -s o -xa cupsSNMPSupplies=false -d 'Specify if SNMP supply level values should be reported'
+complete -c lpadmin -s o -xa job-k-limit= -d 'Sets the kilobyte limit for per-user quotas'
complete -c lpadmin -s o -xa job-page-limit= -d 'Sets the page limit for per-user quotas (int) '
complete -c lpadmin -s o -xa job-quota-period= -d 'Sets the accounting period for per-user quotas (sec)'
complete -c lpadmin -s o -xa job-sheets-default= -d 'Sets the default banner page(s) to use for print jobs'
complete -c lpadmin -s o -d 'Sets a PPD option for the printer' -xa '(__fish_complete_lpr_option)'
#complete -c lpadmin -s o -d 'Sets a default server-side option for the destination' -xa '(__fish_complete_lpr_option | sed "s/=/-default=/")'
complete -c lpadmin -s o -d 'Sets the binary communications program to use when printing' -xa 'port-monitor=none port-monitor=bcp port-monitor=tbcp'
-complete -c lpadmin -s o -d 'Sets the error policy to be used when the printer backend is unable to send the job to the printer. ' -xa 'printer-error-policy=abort-job printer-error-policy=retry-job printer-error-policy=retry-current-job printer-error-policy=stop-printer'
-complete -c lpadmin -s o -xa printer-is-shared=true -d 'Sets the destination to shared/published or unshared/unpublished'
-complete -c lpadmin -s o -xa printer-is-shared=false -d 'Sets the destination to shared/published or unshared/unpublished'
-complete -c lpadmin -s o -d 'Sets the IPP operation policy associated with the destination' -xa "printer-policy=(test -r /etc/cups/cupsd.conf; and string replace -r --filter '' '$1' < /etc/cups/cupsd.conf)"
+complete -c lpadmin -s o -d "Set error policy if printer backend can't send job" -xa 'printer-error-policy=abort-job printer-error-policy=retry-job printer-error-policy=retry-current-job printer-error-policy=stop-printer'
+complete -c lpadmin -s o -xa printer-is-shared=true -d 'Sets destination to shared/published or unshared/unpublished'
+complete -c lpadmin -s o -xa printer-is-shared=false -d 'Sets destination to shared/published or unshared/unpublished'
+complete -c lpadmin -s o -d 'Set IPP operation policy associated with destination' -xa "printer-policy=(test -r /etc/cups/cupsd.conf; and string replace -r --filter '' '$1' < /etc/cups/cupsd.conf)"
-complete -c lpadmin -s u -xa 'allow:all allow:none (__fish_complete_list , __fish_complete_users allow:)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
-complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups allow: @)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
-complete -c lpadmin -s u -xa 'deny:all deny:none (__fish_complete_list , __fish_complete_users deny:)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
-complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups deny: @)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
+complete -c lpadmin -s u -xa 'allow:all allow:none (__fish_complete_list , __fish_complete_users allow:)' -d 'Sets user-level access control on a destination'
+complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups allow: @)' -d 'Sets user-level access control on a destination'
+complete -c lpadmin -s u -xa 'deny:all deny:none (__fish_complete_list , __fish_complete_users deny:)' -d 'Sets user-level access control on a destination'
+complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups deny: @)' -d 'Sets user-level access control on a destination'
From fe21cb44c957690dde2bd2207767ae84a2d354be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dundar=20G=C3=B6c?=
Date: Fri, 21 Jan 2022 23:01:59 +0100
Subject: [PATCH 060/262] entr
---
share/completions/entr.fish | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/share/completions/entr.fish b/share/completions/entr.fish
index 4d70b65a0..ca020a476 100644
--- a/share/completions/entr.fish
+++ b/share/completions/entr.fish
@@ -1,5 +1,5 @@
-complete -c entr -s r -d 'Launches the utility at startup and reloads it if one of the source files change'
+complete -c entr -s r -d 'Launch utility at startup and reload on file change'
complete -c entr -s c -d 'Clears the screen before running the utility'
-complete -c entr -s h -l help -d 'Display help and exit'
+complete -c entr -s h -l help -d 'Display help'
complete -c entr -s v -l version -d 'Output version information'
complete -c entr -x -a '(__fish_complete_subcommand)'
From af11a628f98f122ecaf945ff98039d1877414249 Mon Sep 17 00:00:00 2001
From: Jeff Dickey <216188+jdxcode@users.noreply.github.com>
Date: Fri, 21 Jan 2022 15:49:55 -0600
Subject: [PATCH 061/262] git diff --quiet has no "-q" flag
https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---quiet
---
share/completions/git.fish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index 7b950f18a..24f179c7a 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -1237,7 +1237,7 @@ complete -c git -n '__fish_git_using_command diff' -l cached -d 'Show diff of ch
complete -c git -n '__fish_git_using_command diff' -l staged -d 'Show diff of changes in the index'
complete -c git -n '__fish_git_using_command diff' -l no-index -d 'Compare two paths on the filesystem'
complete -c git -n '__fish_git_using_command diff' -l exit-code -d 'Exit with 1 if there were differences or 0 if no differences'
-complete -c git -n '__fish_git_using_command diff' -s q -l quiet -d 'Disable all output of the program, implies --exit-code'
+complete -c git -n '__fish_git_using_command diff' -l quiet -d 'Disable all output of the program, implies --exit-code'
complete -c git -n '__fish_git_using_command diff' -s 1 -l base -d 'Compare the working tree with the "base" version'
complete -c git -n '__fish_git_using_command diff' -s 2 -l ours -d 'Compare the working tree with the "our branch"'
complete -c git -n '__fish_git_using_command diff' -s 3 -l theirs -d 'Compare the working tree with the "their branch"'
From 4a6dbe09222f36b478f52602eb434552c343fa58 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Fri, 21 Jan 2022 21:15:21 -0800
Subject: [PATCH 062/262] prompt_* functions: shorten their descriptions
---
share/functions/prompt_hostname.fish | 2 +-
share/functions/prompt_login.fish | 2 +-
share/functions/prompt_pwd.fish | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/share/functions/prompt_hostname.fish b/share/functions/prompt_hostname.fish
index 93eb3b104..dcb733578 100644
--- a/share/functions/prompt_hostname.fish
+++ b/share/functions/prompt_hostname.fish
@@ -1,3 +1,3 @@
-function prompt_hostname --description 'Print the hostname, shortened for use in the prompt'
+function prompt_hostname --description 'short hostname for the prompt'
string replace -r "\..*" "" $hostname
end
diff --git a/share/functions/prompt_login.fish b/share/functions/prompt_login.fish
index eeafcbb6f..632a462bd 100644
--- a/share/functions/prompt_login.fish
+++ b/share/functions/prompt_login.fish
@@ -1,4 +1,4 @@
-function prompt_login --description "Print a description of the user and host suitable for the prompt"
+function prompt_login --description "display user name for the prompt"
if not set -q __fish_machine
set -g __fish_machine
set -l debian_chroot $debian_chroot
diff --git a/share/functions/prompt_pwd.fish b/share/functions/prompt_pwd.fish
index 8fe7f9815..f75f0dc0b 100644
--- a/share/functions/prompt_pwd.fish
+++ b/share/functions/prompt_pwd.fish
@@ -1,4 +1,4 @@
-function prompt_pwd --description 'Print the current working directory, shortened to fit the prompt'
+function prompt_pwd --description 'short CWD for the prompt'
set -l options h/help d/dir-length= D/full-length-dirs=
argparse -n prompt_pwd $options -- $argv
or return
From fe9822bb20ca8df8b59ed790c568912442aaaca1 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 20:04:04 -0800
Subject: [PATCH 063/262] Fix welcome text, don't use logger.
Logger was unneccessary - stderr was being captured.
Do the welcome message as HTML - it's easier. Fixes #8661
---
build_tools/osx_distribution.xml | 6 ++--
.../osx_package_resources/welcome.html | 29 +++++++++++++++++++
build_tools/osx_package_resources/welcome.rtf | 26 -----------------
build_tools/osx_package_scripts/postinstall | 2 +-
build_tools/osx_package_scripts/preinstall | 6 ++--
5 files changed, 36 insertions(+), 33 deletions(-)
create mode 100644 build_tools/osx_package_resources/welcome.html
delete mode 100644 build_tools/osx_package_resources/welcome.rtf
diff --git a/build_tools/osx_distribution.xml b/build_tools/osx_distribution.xml
index 6b36f31e2..96df99e48 100644
--- a/build_tools/osx_distribution.xml
+++ b/build_tools/osx_distribution.xml
@@ -1,11 +1,11 @@
fish shell
-
+
-
-
+
+
diff --git a/build_tools/osx_package_resources/welcome.html b/build_tools/osx_package_resources/welcome.html
new file mode 100644
index 000000000..5bfd6e46d
--- /dev/null
+++ b/build_tools/osx_package_resources/welcome.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ fish is a smart and user-friendly command line shell. For more information, visit fishshell.com.
+
+
+ fish will be installed into /usr/local/, and its path will be added to /etc/shells if necessary.
+
+
+ Your default shell will not be changed. To make fish your login shell after the installation, run:
+
+
+ chsh -s /usr/local/bin/fish
+
+ Enjoy! Bugs can be reported on GitHub.
+
+
\ No newline at end of file
diff --git a/build_tools/osx_package_resources/welcome.rtf b/build_tools/osx_package_resources/welcome.rtf
deleted file mode 100644
index 3be3d8914..000000000
--- a/build_tools/osx_package_resources/welcome.rtf
+++ /dev/null
@@ -1,26 +0,0 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1485\cocoasubrtf410
-{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 Menlo-Regular;}
-{\colortbl;\red255\green255\blue255;}
-{\*\expandedcolortbl;\csgenericrgb\c100000\c100000\c100000;}
-{\info
-{\author dlkfjslfjsfdlkfk}}\margl1440\margr1440\vieww10800\viewh8400\viewkind0
-\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
-
-\f0\fs30 \cf0 Fish is a smart and user friendly command line shell. For more information, visit {\field{\*\fldinst{HYPERLINK "https://fishshell.com"}}{\fldrslt https://fishshell.com}}\
-\
-fish will be installed into
-\f1\fs26 /usr/local/
-\f0\fs30 , and fish will be added to
-\f1\fs26 /etc/shells
-\f0\fs30 if necessary.\
-\
-Your default shell will
-\i not
-\i0 be changed. To make fish your default, run:\
-\
-
-\f1 chsh -s /usr/local/bin/fish
-\f0 \
-\
-Enjoy!\
-}
\ No newline at end of file
diff --git a/build_tools/osx_package_scripts/postinstall b/build_tools/osx_package_scripts/postinstall
index e9a6a0517..58382a7d0 100755
--- a/build_tools/osx_package_scripts/postinstall
+++ b/build_tools/osx_package_scripts/postinstall
@@ -1,3 +1,3 @@
#!/bin/sh -x
-./add-shell ${DSTVOLUME}usr/local/bin/fish | logger -s -t "${INSTALL_PKG_SESSION_ID}"
+./add-shell ${DSTVOLUME}usr/local/bin/fish
\ No newline at end of file
diff --git a/build_tools/osx_package_scripts/preinstall b/build_tools/osx_package_scripts/preinstall
index 2f2cffb3b..fcb5e8411 100755
--- a/build_tools/osx_package_scripts/preinstall
+++ b/build_tools/osx_package_scripts/preinstall
@@ -1,7 +1,7 @@
#!/bin/sh -x
-logger -s -t "${INSTALL_PKG_SESSION_ID}" "Removing any previous installation"
+echo "Removing any previous installation"
pkgutil --pkg-info ${INSTALL_PKG_SESSION_ID} && pkgutil pkgutil --only-files --files ${INSTALL_PKG_SESSION_ID} | while read installed
do rm -v ${DSTVOLUME}${installed}
-done | logger -s -t "${INSTALL_PKG_SESSION_ID}"
-logger -s -t "${INSTALL_PKG_SESSION_ID}" "... removed"
+done
+echo "... removed"
From a617ef7ec1fc90398a77bd6362f48d38f4717822 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 20:08:32 -0800
Subject: [PATCH 064/262] Fix typo in preinstall script.
---
build_tools/osx_package_scripts/preinstall | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build_tools/osx_package_scripts/preinstall b/build_tools/osx_package_scripts/preinstall
index fcb5e8411..359174617 100755
--- a/build_tools/osx_package_scripts/preinstall
+++ b/build_tools/osx_package_scripts/preinstall
@@ -1,7 +1,7 @@
#!/bin/sh -x
echo "Removing any previous installation"
-pkgutil --pkg-info ${INSTALL_PKG_SESSION_ID} && pkgutil pkgutil --only-files --files ${INSTALL_PKG_SESSION_ID} | while read installed
+pkgutil --pkg-info ${INSTALL_PKG_SESSION_ID} && pkgutil --only-files --files ${INSTALL_PKG_SESSION_ID} | while read installed
do rm -v ${DSTVOLUME}${installed}
done
echo "... removed"
From cd47411bbbf773016741430588865436ba432545 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 20:52:29 -0800
Subject: [PATCH 065/262] Shorten `breakpoint` description
---
src/builtin.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/builtin.cpp b/src/builtin.cpp
index 30f08af91..92d8955ed 100644
--- a/src/builtin.cpp
+++ b/src/builtin.cpp
@@ -365,8 +365,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"bind", &builtin_bind, N_(L"Handle fish key bindings")},
{L"block", &builtin_block, N_(L"Temporarily block delivery of events")},
{L"break", &builtin_break_continue, N_(L"Stop the innermost loop")},
- {L"breakpoint", &builtin_breakpoint,
- N_(L"Temporarily halt execution of a script and launch an interactive debug prompt")},
+ {L"breakpoint", &builtin_breakpoint, N_(L"Halt execution and start interactive debug prompt")},
{L"builtin", &builtin_builtin, N_(L"Run a builtin command instead of a function")},
{L"case", &builtin_generic, N_(L"Conditionally execute a block of commands")},
{L"cd", &builtin_cd, N_(L"Change working directory")},
From ed0b6cdc9d9be73bda87179276855b2d21bbaced Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 20:56:07 -0800
Subject: [PATCH 066/262] Shorten fish_sigtrap_handler description.
We can now get two columuns in the pager hitting at 124 cols
---
share/config.fish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/config.fish b/share/config.fish
index a5792b062..0b56fe618 100644
--- a/share/config.fish
+++ b/share/config.fish
@@ -140,7 +140,7 @@ end
#
# Launch debugger on SIGTRAP
#
-function fish_sigtrap_handler --on-signal TRAP --no-scope-shadowing --description "Signal handler for the TRAP signal. Launches a debug prompt."
+function fish_sigtrap_handler --on-signal TRAP --no-scope-shadowing --description "TRAP signal handler: launches a debug prompt"
breakpoint
end
From 1262469aea65ab7af743aab5731bf4fe3ca0e0e2 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 21:01:25 -0800
Subject: [PATCH 067/262] Shorten two more command's descriptions
Two columns at 119 width.
---
share/config.fish | 2 +-
share/functions/fish_default_key_bindings.fish | 2 +-
share/functions/fish_default_mode_prompt.fish | 2 +-
src/builtin.cpp | 3 +--
4 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/share/config.fish b/share/config.fish
index 0b56fe618..6caec2003 100644
--- a/share/config.fish
+++ b/share/config.fish
@@ -140,7 +140,7 @@ end
#
# Launch debugger on SIGTRAP
#
-function fish_sigtrap_handler --on-signal TRAP --no-scope-shadowing --description "TRAP signal handler: launches a debug prompt"
+function fish_sigtrap_handler --on-signal TRAP --no-scope-shadowing --description "TRAP signal handler: debug prompt"
breakpoint
end
diff --git a/share/functions/fish_default_key_bindings.fish b/share/functions/fish_default_key_bindings.fish
index f9597d487..bca00fc7c 100644
--- a/share/functions/fish_default_key_bindings.fish
+++ b/share/functions/fish_default_key_bindings.fish
@@ -1,4 +1,4 @@
-function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fish"
+function fish_default_key_bindings -d "Default (emacs-like) key bindings"
if contains -- -h $argv
or contains -- --help $argv
echo "Sorry but this function doesn't support -h or --help"
diff --git a/share/functions/fish_default_mode_prompt.fish b/share/functions/fish_default_mode_prompt.fish
index b90461b3c..21e4af86f 100644
--- a/share/functions/fish_default_mode_prompt.fish
+++ b/share/functions/fish_default_mode_prompt.fish
@@ -1,4 +1,4 @@
-function fish_default_mode_prompt --description "Display the default mode for the prompt"
+function fish_default_mode_prompt --description "Display default prompt mode"
# Do nothing if not in vi mode
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
diff --git a/src/builtin.cpp b/src/builtin.cpp
index 92d8955ed..ced3fd1ec 100644
--- a/src/builtin.cpp
+++ b/src/builtin.cpp
@@ -373,8 +373,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"commandline", &builtin_commandline, N_(L"Set or get the commandline")},
{L"complete", &builtin_complete, N_(L"Edit command specific completions")},
{L"contains", &builtin_contains, N_(L"Search for a specified string in a list")},
- {L"continue", &builtin_break_continue,
- N_(L"Skip the rest of the current lap of the innermost loop")},
+ {L"continue", &builtin_break_continue, N_(L"Skip over remaining innermost loop")},
{L"count", &builtin_count, N_(L"Count the number of arguments")},
{L"disown", &builtin_disown, N_(L"Remove job from job list")},
{L"echo", &builtin_echo, N_(L"Print arguments")},
From b1deb8af89f6215281152cff312b47f445a68a68 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 21:12:01 -0800
Subject: [PATCH 068/262] down-or-search: shorten description
---
share/functions/down-or-search.fish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/functions/down-or-search.fish b/share/functions/down-or-search.fish
index 16a5182f4..95cebf17f 100644
--- a/share/functions/down-or-search.fish
+++ b/share/functions/down-or-search.fish
@@ -1,4 +1,4 @@
-function down-or-search -d "Depending on cursor position and current mode, either search forward or move down one line"
+function down-or-search -d "search forward or move down one line"
# If we are already in search mode, continue
if commandline --search-mode
commandline -f history-search-forward
From 81c46183fd0c0e4bce88ad5ae85f76515c89bfad Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 21:18:24 -0800
Subject: [PATCH 069/262] breakpoint: shorter
---
src/builtin.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/builtin.cpp b/src/builtin.cpp
index ced3fd1ec..291cc7bdb 100644
--- a/src/builtin.cpp
+++ b/src/builtin.cpp
@@ -365,7 +365,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"bind", &builtin_bind, N_(L"Handle fish key bindings")},
{L"block", &builtin_block, N_(L"Temporarily block delivery of events")},
{L"break", &builtin_break_continue, N_(L"Stop the innermost loop")},
- {L"breakpoint", &builtin_breakpoint, N_(L"Halt execution and start interactive debug prompt")},
+ {L"breakpoint", &builtin_breakpoint, N_(L"Halt execution and start debug prompt")},
{L"builtin", &builtin_builtin, N_(L"Run a builtin command instead of a function")},
{L"case", &builtin_generic, N_(L"Conditionally execute a block of commands")},
{L"cd", &builtin_cd, N_(L"Change working directory")},
From 275601665f43ba809607c9a90439a710179a4968 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Sat, 22 Jan 2022 21:21:21 -0800
Subject: [PATCH 070/262] Shorten more commands
We're at 2 columns @ 115-wide terminal.
---
src/builtin.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/builtin.cpp b/src/builtin.cpp
index 291cc7bdb..070df517c 100644
--- a/src/builtin.cpp
+++ b/src/builtin.cpp
@@ -369,7 +369,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"builtin", &builtin_builtin, N_(L"Run a builtin command instead of a function")},
{L"case", &builtin_generic, N_(L"Conditionally execute a block of commands")},
{L"cd", &builtin_cd, N_(L"Change working directory")},
- {L"command", &builtin_command, N_(L"Run a program instead of a function or builtin")},
+ {L"command", &builtin_command, N_(L"Run program instead of a function or builtin")},
{L"commandline", &builtin_commandline, N_(L"Set or get the commandline")},
{L"complete", &builtin_complete, N_(L"Edit command specific completions")},
{L"contains", &builtin_contains, N_(L"Search for a specified string in a list")},
@@ -398,7 +398,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"pwd", &builtin_pwd, N_(L"Print the working directory")},
{L"random", &builtin_random, N_(L"Generate random number")},
{L"read", &builtin_read, N_(L"Read a line of input into variables")},
- {L"realpath", &builtin_realpath, N_(L"Convert path to absolute path without symlinks")},
+ {L"realpath", &builtin_realpath, N_(L"Show absolute path sans symlinks")},
{L"return", &builtin_return, N_(L"Stop the currently evaluated function")},
{L"set", &builtin_set, N_(L"Handle environment variables")},
{L"set_color", &builtin_set_color, N_(L"Set the terminal color")},
@@ -410,7 +410,7 @@ static constexpr builtin_data_t builtin_datas[] = {
{L"time", &builtin_generic, N_(L"Measure how long a command or block takes")},
{L"true", &builtin_true, N_(L"Return a successful result")},
{L"type", &builtin_type, N_(L"Check if a thing is a thing")},
- {L"ulimit", &builtin_ulimit, N_(L"Set or get the shells resource usage limits")},
+ {L"ulimit", &builtin_ulimit, N_(L"Get/set resource usage limits")},
{L"wait", &builtin_wait, N_(L"Wait for background processes completed")},
{L"while", &builtin_generic, N_(L"Perform a command multiple times")},
};
From 229e315fc5d01f71f93ec156ea228e87067da96f Mon Sep 17 00:00:00 2001
From: exploide
Date: Sat, 22 Jan 2022 18:07:44 +0100
Subject: [PATCH 071/262] tar completion: added useful options
---
share/completions/tar.fish | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/share/completions/tar.fish b/share/completions/tar.fish
index 3f43963b2..a420ad88c 100644
--- a/share/completions/tar.fish
+++ b/share/completions/tar.fish
@@ -20,17 +20,16 @@ end
complete -c tar -a "(__fish_complete_tar)"
-complete -c tar -s A -l catenate -d "Append archive to archive"
-complete -c tar -l concatenate -d "Append archive to archive"
+complete -c tar -s A -l catenate -l concatenate -d "Append archive to archive"
complete -c tar -s c -l create -d "Create archive"
-complete -c tar -s d -l diff -d "Compare archive and filesystem"
-complete -c tar -l compare -d "Compare archive and filesystem"
+complete -c tar -s d -l diff -l compare -d "Compare archive and filesystem"
complete -c tar -l delete -d "Delete from archive"
complete -c tar -s r -l append -d "Append files to archive"
complete -c tar -s t -l list -d "List archive"
complete -c tar -s u -l update -d "Append new files"
-complete -c tar -s x -l extract -d "Extract from archive"
-complete -c tar -l get -d "Extract from archive"
+complete -c tar -s x -l extract -l get -d "Extract from archive"
+complete -c tar -s \? -l help -d "Display short option summary"
+complete -c tar -l usage -d "List available options"
complete -c tar -l atime-preserve -d "Keep access time"
complete -c tar -s b -l block-size -d "Block size"
complete -c tar -s B -l read-full-blocks -d "Reblock while reading"
@@ -46,6 +45,7 @@ complete -c tar -s i -l ignore-zeros -d "Ignore zero block in archive"
complete -c tar -s j -l bzip2 -d "Filter through bzip2"
complete -c tar -l ignore-failed-read -d "Don't exit on unreadable files"
complete -c tar -s k -l keep-old-files -d "Don't overwrite"
+complete -c tar -l one-top-level -d "Extract into directory"
complete -c tar -s K -l starting-file -r -d "Starting file in archive"
complete -c tar -s l -l one-file-system -d "Stay in local filesystem"
complete -c tar -s L -l tape-length -r -d "Tape length"
From ec870fff93fae67857acc887ff858243da30aa22 Mon Sep 17 00:00:00 2001
From: EmilySeville7cfg
Date: Tue, 30 Nov 2021 19:19:23 +1000
Subject: [PATCH 072/262] Completion for octave command
---
share/completions/octave.fish | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 share/completions/octave.fish
diff --git a/share/completions/octave.fish b/share/completions/octave.fish
new file mode 100644
index 000000000..47b81c3fa
--- /dev/null
+++ b/share/completions/octave.fish
@@ -0,0 +1,33 @@
+complete -c octave -x -a '(__fish_complete_suffix .m)'
+
+complete -c octave -s h -l help -d 'Show help'
+complete -c octave -s v -l version -d 'Show version'
+
+complete -c octave -l built-in-docstrings-file -r -d 'Use docs for built-ins'
+complete -c octave -s d -l debug -d 'Enter parser debugging mode'
+complete -c octave -l debug-jit -d 'Enable JIT compiler debugging/tracing'
+complete -c octave -l doc-cache-file -r -d 'Use doc cache file'
+complete -c octave -s x -l echo-commands -d 'Echo commands as they are executed'
+complete -c octave -l eval -x -d 'Evaluate code'
+complete -c octave -l exec-path -r -d 'Set path for executing subprograms'
+complete -c octave -l gui -n 'not __fish_seen_argument --long gui --long no-gui --long no-line-editing' -d 'Start the graphical user interface'
+complete -c octave -l image-path -r -a '(.bmp .gif .jpg .jpeg .pbm .pcx .bgm .png .pnm .ppm .ras .tif .tiff .xwd)' -d 'Add path to head of image search path'
+complete -c octave -l info-file -r -d 'Use top-level info file'
+complete -c octave -l info-program -r -d 'Specify program for reading info files'
+complete -c octave -s i -l interactive -d 'Force interactive behavior'
+complete -c octave -l jit-compiler -d 'Enable the JIT compiler'
+complete -c octave -l line-editing -n 'not __fish_seen_argument --long line-editing --long no-line-editing' -d 'Force readline use for command-line editing'
+complete -c octave -l no-gui -n 'not __fish_seen_argument --long gui --long no-gui' -d 'Disable the graphical user interface'
+complete -c octave -s H -l no-history -d 'Don\'t save commands to the history list'
+complete -c octave -l no-init-file -d 'Don\'t read the ~/.octaverc or .octaverc files'
+complete -c octave -l no-init-path -d 'Don\'t initialize function search path'
+complete -c octave -l no-line-editing -n 'not __fish_seen_argument --long line-editing --long no-line-editing --long gui' -d 'Don\'t use readline for command-line editing'
+complete -c octave -l no-site-file -d 'Don\'t read the site-wide octaverc file'
+complete -c octave -s W -l no-window-system -d 'Disable window system, including graphics'
+complete -c octave -s f -l norc -d 'Don\'t read any initialization files'
+complete -c octave -s p -l path -r -d 'Add path to head of function search path'
+complete -c octave -l persist -d 'Go interactive after --eval or reading'
+complete -c octave -s q -l quiet --long-option silent -d 'Don\'t print message at startup'
+complete -c octave -l texi-macros-file -r -d 'Use Texinfo macros for makeinfo command'
+complete -c octave -l traditional -d 'Set variables for closer MATLAB compatibility'
+complete -c octave -s V -l verbose -d 'Enable verbose output in some cases'
From f881f709925ba660bb82d8438ad270b5147bee4b Mon Sep 17 00:00:00 2001
From: EmilySeville7cfg
Date: Tue, 30 Nov 2021 20:39:11 +1000
Subject: [PATCH 073/262] Completion for matlab command
---
share/completions/matlab.fish | 53 +++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 share/completions/matlab.fish
diff --git a/share/completions/matlab.fish b/share/completions/matlab.fish
new file mode 100644
index 000000000..27b1fd47d
--- /dev/null
+++ b/share/completions/matlab.fish
@@ -0,0 +1,53 @@
+function __fish_matlabcheck_no_desktop_nodesktop_opts
+ not __fish_seen_argument --old desktop --old nodesktop
+ return $status
+end
+
+function __fish_matlabcheck_no_batch_r_opts
+ not __fish_seen_argument --old batch --short r
+ return $status
+end
+
+complete -c matlab -s h -l help -d 'Show help'
+
+# Mode options
+complete -c matlab -o desktop -n __fish_matlabcheck_no_desktop_nodesktop_opts -d 'Start without a controlling terminal'
+complete -c matlab -o nodesktop -n __fish_matlabcheck_no_desktop_nodesktop_opts -d 'Run the JVM software without opening the desktop'
+complete -c matlab -o nojvm -d 'Start without the JVM software'
+
+# Display options
+complete -c matlab -o noFigureWindows -d 'Disable the display of figure windows'
+complete -c matlab -o nosplash -d 'Don\'t display the splash screen during startup'
+complete -c matlab -o nodisplay -d 'Start the JVM software without starting desktop'
+complete -c matlab -o display -x -d 'Send X commands to X Window Server display xDisp'
+
+# Set initial working folder
+complete -c matlab -o sd -r -d 'Set the folder'
+complete -c matlab -o useStartupFolderPref -d 'Change the folder to the Initial working folder preference'
+
+# Debugging options
+complete -c matlab -o logfile -r -a '(__fish_complete_suffix .log)' -d 'Copy Command Window output into filename'
+complete -c matlab -s n -d 'Display the environment variables/arguments passed to the executable'
+complete -c matlab -s e -d 'Display all environment variables and their values to standard output'
+complete -c matlab -s Dgdb -x -d 'Start in debug mode'
+complete -c matlab -s Dlldb -x -d 'Start in debug mode'
+complete -c matlab -s Ddbx -x -d 'Start in debug mode'
+complete -c matlab -o jdb -x -d 'Enable use of the Java debugger'
+complete -c matlab -o debug -d 'Display information for debugging X-based problems'
+
+# Execute MATLAB script or function
+complete -c matlab -o batch -x -n __fish_matlabcheck_no_batch_r_opts -d 'Execute script, statement, or function non-interactively'
+complete -c matlab -s r -x -n __fish_matlabcheck_no_batch_r_opts -d 'Execute the statement'
+
+# Use single computational thread
+complete -c matlab -o singleCompThread -d 'Limit to a single computational thread'
+
+# Disable searching custom Java class path
+complete -c matlab -o nouserjavapath -d 'Disable use of javaclasspath.txt and javalibrarypath.txt files'
+
+# OpenGL library options
+complete -c matlab -o softwareopengl -d 'Force to start with software OpenGL libraries'
+complete -c matlab -o nosoftwareopengl -d 'Disable auto-selection of OpenGL software'
+
+# Specify license file
+complete -c matlab -s c -r -d 'Use the specified license file'
From 36699d49d8ae68d768244ecf8d4923da6415ccfd Mon Sep 17 00:00:00 2001
From: EmilySeville7cfg
Date: Thu, 2 Dec 2021 19:29:26 +1000
Subject: [PATCH 074/262] Specify program versions
---
share/completions/matlab.fish | 1 +
share/completions/octave.fish | 2 ++
2 files changed, 3 insertions(+)
diff --git a/share/completions/matlab.fish b/share/completions/matlab.fish
index 27b1fd47d..cec5285ee 100644
--- a/share/completions/matlab.fish
+++ b/share/completions/matlab.fish
@@ -1,3 +1,4 @@
+# Completion for: MATLAB R2021b
function __fish_matlabcheck_no_desktop_nodesktop_opts
not __fish_seen_argument --old desktop --old nodesktop
return $status
diff --git a/share/completions/octave.fish b/share/completions/octave.fish
index 47b81c3fa..74e1bb093 100644
--- a/share/completions/octave.fish
+++ b/share/completions/octave.fish
@@ -1,3 +1,5 @@
+# Completion for: GNU Octave 5.2.0
+
complete -c octave -x -a '(__fish_complete_suffix .m)'
complete -c octave -s h -l help -d 'Show help'
From 640feeee676b9a3100385ab7a461750d5e84b5b4 Mon Sep 17 00:00:00 2001
From: David Adam
Date: Sun, 23 Jan 2022 21:56:46 +0800
Subject: [PATCH 075/262] CHANGELOG: work on 3.4.0
---
CHANGELOG.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index b562d6b0f..6d41f61cc 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,7 +2,7 @@ fish 3.4.0 (released ???)
=========================
..
- Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8626 8630 8633 8636 8639 8647 8650 8643 8647 8651 8654 8655 8656
+ Ignore for 3.4.0 changelog: 1363 3625 3954 6477 7602 8059 8077 8079 8084 8096 8118 8127 8128 8130 8137 8139 8146 8151 8153 8161 8170 8176 8183 8184 8191 8192 8195 8202 8204 8205 8206 8219 8221 8222 8224 8227 8228 8229 8230 8231 8235 8236 8237 8238 8239 8241 8243 8249 8252 8253 8256 8257 8260 8268 8270 8271 8277 8280 8285 8287 8289 8295 8299 8305 8306 8308 8310 8311 8314 8321 8323 8326 8327 8334 8335 8337 8338 8344 8353 8358 8365 8367 8368 8380 8381 8385 8391 8394 8403 8406 8409 8410 8419 8429 8430 8433 8438 8439 8441 8444 8446 8449 8456 8457 8471 8472 8476 8477 8478 8479 8480 8487 8492 8495 8497 8500 8511 8518 8521 8522 8526 8527 8528 8548 8549 8559 8575 8584 8587 8588 8570 8591 8596 8597 8601 8608 8612 8613 8614 8615 8621 8623 8625 8626 8630 8633 8636 8639 8643 8647 8650 8651 8652 8654 8655 8656 8658 8660 8661 8662
Notable improvements and fixes
@@ -155,9 +155,11 @@ Completions
- ``isatty`` (:issue:`8609`)
- ``istioctl`` (:issue:`8343`)
- ``kmutil``
+ - ``matlab`` (:issue:`8505`)
- ``mono`` (:issue:`8415`)
- Angular's ``ng`` (:issue:`8111`)
- ``nodeenv`` (:issue:`8533`)
+ - ``octave`` (:issue:`8505`)
- ``pabcnet_clear`` (:issue:`8421`)
- ``qmk`` (:issue:`8180`)
- ``rakudo`` (:issue:`8113`)
From 2fcea496a99759887e67152f0fb806edc7b58b7d Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 11:47:33 -0500
Subject: [PATCH 076/262] Complete only filenames after `git show --`
---
share/completions/git.fish | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index 24f179c7a..4795303ac 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -947,10 +947,11 @@ complete -f -c git -n "__fish_git_using_command remote; and __fish_seen_subcomma
### show
complete -f -c git -n __fish_git_needs_command -a show -d 'Shows the last commit of a branch'
-complete -f -c git -n '__fish_git_using_command show' -a '(__fish_git_branches)'
-complete -f -c git -n '__fish_git_using_command show' -ka '(__fish_git_tags)' -d Tag
-complete -f -c git -n '__fish_git_using_command show' -ka '(__fish_git_commits)'
-complete -f -c git -n __fish_git_needs_rev_files -xa '(__fish_git_complete_rev_files)'
+complete -f -c git -n '__fish_git_using_command show; and not contains -- -- (commandline -opc)' -a '(__fish_git_branches)'
+complete -f -c git -n '__fish_git_using_command show; and not contains -- -- (commandline -opc)' -ka '(__fish_git_tags)' -d Tag
+complete -f -c git -n '__fish_git_using_command show; and not contains -- -- (commandline -opc)' -ka '(__fish_git_commits)'
+complete -f -c git -n '__fish_git_needs_rev_files; and not contains -- -- (commandline -opc)' -xa '(__fish_git_complete_rev_files)'
+complete -F -c git -n '__fish_git_using_command show; and contains -- -- (commandline -opc)'
complete -f -c git -n '__fish_git_using_command show' -l format -d 'Pretty-print the contents of the commit logs in a given format' -a '(__fish_git_show_opt format)'
complete -f -c git -n '__fish_git_using_command show' -l abbrev-commit -d 'Show only a partial hexadecimal commit object name'
complete -f -c git -n '__fish_git_using_command show' -l no-abbrev-commit -d 'Show the full 40-byte hexadecimal commit object name'
From 4ae29ec1fe20d2c19b5f6a3ed32d887fd2716b29 Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 11:58:11 -0500
Subject: [PATCH 077/262] Add `--prune` option to `git fetch` and `git pull`
---
share/completions/git.fish | 2 ++
1 file changed, 2 insertions(+)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index 4795303ac..a90323188 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -898,6 +898,7 @@ complete -f -c git -n '__fish_git_using_command fetch' -s v -l verbose -d 'Be ve
complete -f -c git -n '__fish_git_using_command fetch' -s a -l append -d 'Append ref names and object names'
# TODO --upload-pack
complete -f -c git -n '__fish_git_using_command fetch' -s f -l force -d 'Force update of local branches'
+complete -f -c git -n '__fish_git_using_command fetch' -s p -l prune -d 'Remove remote-tracking references that no longer exist on the remote'
# TODO other options
#### filter-branch
@@ -1627,6 +1628,7 @@ complete -f -c git -n '__fish_git_using_command pull' -s a -l append -d 'Append
complete -f -c git -n '__fish_git_using_command pull' -s f -l force -d 'Force update of local branches'
complete -f -c git -n '__fish_git_using_command pull' -s k -l keep -d 'Keep downloaded pack'
complete -f -c git -n '__fish_git_using_command pull' -l no-tags -d 'Disable automatic tag following'
+complete -f -c git -n '__fish_git_using_command pull' -s p -l prune -d 'Remove remote-tracking references that no longer exist on the remote'
# TODO --upload-pack
complete -f -c git -n '__fish_git_using_command pull' -l progress -d 'Force progress status'
complete -f -c git -n '__fish_git_using_command pull; and not __fish_git_branch_for_remote' -a '(__fish_git_remotes)' -d 'Remote alias'
From 3575bc6c191541d7052768917448590ed7ac83f3 Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 12:34:52 -0500
Subject: [PATCH 078/262] Hide interactive rebase options when not rebasing
`--abort`, `--skip`, and `--continue` are hidden when a rebase isn't in
progress.
---
share/completions/git.fish | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index a90323188..be8af7730 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -798,6 +798,10 @@ format:\tSpecify which information to show"
end
end
+function __fish_git_is_rebasing
+ test -e (__fish_git rev-parse --git-path rebase-merge)
+end
+
# general options
complete -f -c git -l help -d 'Display the manual of a git command'
complete -f -c git -n __fish_git_needs_command -l version -d 'Display version'
@@ -1704,10 +1708,10 @@ complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_branches
complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_heads)' -d Head
complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_recent_commits)'
complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_tags)' -d Tag
-complete -f -c git -n '__fish_git_using_command rebase' -l continue -d 'Restart the rebasing process'
-complete -f -c git -n '__fish_git_using_command rebase' -l abort -d 'Abort the rebase operation'
+complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l continue -d 'Restart the rebasing process'
+complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l abort -d 'Abort the rebase operation'
complete -f -c git -n '__fish_git_using_command rebase' -l keep-empty -d "Keep the commits that don't change anything"
-complete -f -c git -n '__fish_git_using_command rebase' -l skip -d 'Restart the rebasing process by skipping the current patch'
+complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l skip -d 'Restart the rebasing process by skipping the current patch'
complete -f -c git -n '__fish_git_using_command rebase' -s m -l merge -d 'Use merging strategies to rebase'
complete -f -c git -n '__fish_git_using_command rebase' -s q -l quiet -d 'Be quiet'
complete -f -c git -n '__fish_git_using_command rebase' -s v -l verbose -d 'Be verbose'
From 03b3891d7326182b8fe145f5eb933b26b3f4fe6b Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 12:39:08 -0500
Subject: [PATCH 079/262] Add `git rebase --edit-todo` completion
---
share/completions/git.fish | 1 +
1 file changed, 1 insertion(+)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index be8af7730..1affe02ed 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -1710,6 +1710,7 @@ complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_recent_c
complete -f -c git -n '__fish_git_using_command rebase' -a '(__fish_git_tags)' -d Tag
complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l continue -d 'Restart the rebasing process'
complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l abort -d 'Abort the rebase operation'
+complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l edit-todo -d 'Edit the todo list'
complete -f -c git -n '__fish_git_using_command rebase' -l keep-empty -d "Keep the commits that don't change anything"
complete -f -c git -n '__fish_git_using_command rebase; and __fish_git_is_rebasing' -l skip -d 'Restart the rebasing process by skipping the current patch'
complete -f -c git -n '__fish_git_using_command rebase' -s m -l merge -d 'Use merging strategies to rebase'
From 3b690214dc228a1b443d0dfdecbc7bb616b4fd5b Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 14:04:37 -0500
Subject: [PATCH 080/262] Add `git checkout --[no-]recurse-submodules`
---
share/completions/git.fish | 2 ++
1 file changed, 2 insertions(+)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index 1affe02ed..aeb6a6e0f 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -1040,6 +1040,8 @@ complete -f -c git -n '__fish_git_using_command checkout' -s b -d 'Create a new
complete -f -c git -n '__fish_git_using_command checkout' -s t -l track -d 'Track a new branch'
complete -f -c git -n '__fish_git_using_command checkout' -l theirs -d 'Keep staged changes'
complete -f -c git -n '__fish_git_using_command checkout' -l ours -d 'Keep unmerged changes'
+complete -f -c git -n '__fish_git_using_command checkout' -l recurse-submodules -d 'Update the work trees of submodules'
+complete -f -c git -n '__fish_git_using_command checkout' -l no-recurse-submodules -d 'Do not update the work trees of submodules'
# TODO options
### apply
From eb7603f1c6ed1fca33da0faa3252e3a62326fecc Mon Sep 17 00:00:00 2001
From: Spenser Black
Date: Mon, 24 Jan 2022 15:10:57 -0500
Subject: [PATCH 081/262] Make `__fish_git_is_rebasing` respect `git -C`
Co-authored-by: Johannes Altmanninger
---
share/completions/git.fish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/completions/git.fish b/share/completions/git.fish
index aeb6a6e0f..4d45aea1e 100644
--- a/share/completions/git.fish
+++ b/share/completions/git.fish
@@ -799,7 +799,7 @@ format:\tSpecify which information to show"
end
function __fish_git_is_rebasing
- test -e (__fish_git rev-parse --git-path rebase-merge)
+ test -e (__fish_git rev-parse --absolute-git-dir)/rebase-merge
end
# general options
From 3b41f8dfe8828491df018b2a52d8f4866b3a38c5 Mon Sep 17 00:00:00 2001
From: Aaron Gyes
Date: Wed, 26 Jan 2022 13:51:45 -0800
Subject: [PATCH 082/262] Add missing newlines
---
build_tools/osx_package_resources/welcome.html | 2 +-
build_tools/osx_package_scripts/postinstall | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build_tools/osx_package_resources/welcome.html b/build_tools/osx_package_resources/welcome.html
index 5bfd6e46d..932ff3290 100644
--- a/build_tools/osx_package_resources/welcome.html
+++ b/build_tools/osx_package_resources/welcome.html
@@ -26,4 +26,4 @@
Enjoy! Bugs can be reported on GitHub.