From c59e221bf1f921cd7b39daec5845186c329fd35a Mon Sep 17 00:00:00 2001 From: sentriz Date: Sat, 12 Aug 2017 00:09:13 +0100 Subject: [PATCH 001/110] Accept return as a valid answer to 'Edit the file again?' Also, check for affirmative answer so a random string isn't taken as a "yes" response. --- share/functions/funced.fish | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/share/functions/funced.fish b/share/functions/funced.fish index 924d269d8..8b118fdd0 100644 --- a/share/functions/funced.fish +++ b/share/functions/funced.fish @@ -109,10 +109,13 @@ function funced --description 'Edit function definition' echo # add a line between the parse error and the prompt set -l repeat set -l prompt (_ 'Edit the file again\? [Y/n]') - while test -z "$repeat" - read -p "echo $prompt\ " repeat - end - if not contains $repeat n N no NO No nO + read -p "echo $prompt\ " response + if test -z "$response" + or contains $response {Y,y}{E,e,}{S,s,} + continue + else if not contains $response {N,n}{O,o,} + echo "I don't understand '$response', assuming 'Yes'" + sleep 2 continue end echo (_ "Cancelled function editing") From 263cdc50dbdda26b72f9f5eb9f46c6f13631d926 Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Tue, 1 Aug 2017 16:54:32 -0700 Subject: [PATCH 002/110] document special value zero for FISH_READ_BYTE_LIMIT --- doc_src/read.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc_src/read.txt b/doc_src/read.txt index 0f1b0589a..475307131 100644 --- a/doc_src/read.txt +++ b/doc_src/read.txt @@ -47,7 +47,7 @@ See the documentation for `set` for more details on the scoping rules for variab When read reaches the end-of-file (EOF) instead of the separator, it sets `$status` to 1. If not, it sets it to 0. -Fish has a default limit of 10 MiB on the number of characters each `read` will consume. If you attempt to read more than that `$status` is set to 122 and the variable will be empty. You can modify that limit by setting the `FISH_READ_BYTE_LIMIT` variable at any time including in the environment before fish starts running. This is a safety mechanism to keep the shell from consuming an unreasonable amount of memory if the input is malformed. +Fish has a default limit of 10 MiB on the number of characters each `read` will consume. If you attempt to read more than that `$status` is set to 122 and the variable will be empty. You can modify that limit by setting the `FISH_READ_BYTE_LIMIT` variable at any time including in the environment before fish starts running. If you set it to zero then no limit is imposed. This is a safety mechanism to keep the shell from consuming an unreasonable amount of memory if the input is malformed. \subsection read-history Using another read history file From 7b7bb5803f7345669ff01c575bdd064f577e528a Mon Sep 17 00:00:00 2001 From: David Adam Date: Sat, 12 Aug 2017 12:20:49 +0800 Subject: [PATCH 003/110] docs: update language in read documentation --- doc_src/read.txt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc_src/read.txt b/doc_src/read.txt index 475307131..5b3902dd2 100644 --- a/doc_src/read.txt +++ b/doc_src/read.txt @@ -7,7 +7,7 @@ read [OPTIONS] [VARIABLES...] \subsection read-description Description -`read` reads from standard input and stores the result in one or more shell variables. By default it reads one line terminated by a newline but options are available to read up to a null character and to limit each "line" to a maximum number of characters. +`read` reads from standard input and stores the result in one or more shell variables. By default, one line (terminated by a newline) is read into each variable. Alternatively, a null character or a maximum number of characters can be used to terminate the input. Unlike other shells, there is no default variable (such as `REPLY`) for storing the result. The following options are available: @@ -19,7 +19,8 @@ The following options are available: - `-l` or `--local` makes the variables local. -- `-n NCHARS` or `--nchars=NCHARS` causes `read` to return after reading NCHARS characters rather than waiting for a complete line of input (either newline or null terminated). +- `-n NCHARS` or `--nchars=NCHARS` makes `read` return after reading NCHARS characters or the end of + the line, whichever comes first. - `-p PROMPT_CMD` or `--prompt=PROMPT_CMD` uses the output of the shell command `PROMPT_CMD` as the prompt for the interactive mode. The default prompt command is set_color green; echo read; set_color normal; echo "> ". @@ -37,7 +38,8 @@ The following options are available: - `-a` or `--array` stores the result as an array in a single variable. -- `-z` or `--null` reads up to NUL instead of newline. Disables interactive mode. +- `-z` or `--null` marks the end of the line with the NUL character, instead of newline. This also + disables interactive mode. `read` reads a single line of input from stdin, breaks it into tokens based on the `IFS` shell variable, and then assigns one token to each variable specified in `VARIABLES`. If there are more tokens than variables, the complete remainder is assigned to the last variable. As a special case, if `IFS` is set to the empty string, each character of the input is considered a separate token. @@ -45,9 +47,10 @@ If `-a` or `--array` is provided, only one variable name is allowed and the toke See the documentation for `set` for more details on the scoping rules for variables. -When read reaches the end-of-file (EOF) instead of the separator, it sets `$status` to 1. If not, it sets it to 0. +When `read` reaches the end-of-file (EOF) instead of the terminator, the exit status is set to 1. +Otherwise, it is set to 0. -Fish has a default limit of 10 MiB on the number of characters each `read` will consume. If you attempt to read more than that `$status` is set to 122 and the variable will be empty. You can modify that limit by setting the `FISH_READ_BYTE_LIMIT` variable at any time including in the environment before fish starts running. If you set it to zero then no limit is imposed. This is a safety mechanism to keep the shell from consuming an unreasonable amount of memory if the input is malformed. +In order to protect the shell from consuming too many system resources, `read` will only consume a maximum of 10 MiB (1048576 bytes); if the terminator is not reached before this limit then VARIABLE is set to empty and the exit status is set to 122. This limit can be altered with the `FISH_READ_BYTE_LIMIT` variable. If set to 0 (zero), the limit is removed. \subsection read-history Using another read history file From 3a6ec68a328d3ab3a79a212e27f513ff1c7f6db2 Mon Sep 17 00:00:00 2001 From: David Adam Date: Sat, 12 Aug 2017 14:26:40 +0800 Subject: [PATCH 004/110] Revert "configure: check that errno is threadsafe" This reverts commit ee15f1b9877834f49342a7bd93457e423eeb2cb4. The test relies on undefined behaviour (checking for errno in the absence of an error condition) and was broken on OpenBSD. Closes #4184. --- configure.ac | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/configure.ac b/configure.ac index abe5dafeb..bec1d582f 100644 --- a/configure.ac +++ b/configure.ac @@ -579,34 +579,6 @@ else AC_MSG_RESULT(no) fi -# Check that threads actually work on Solaris -AC_MSG_CHECKING([for threadsafe errno]) -AC_RUN_IFELSE( - [AC_LANG_PROGRAM([ - #include - #include - #include - - void *thread1_func(void *p_arg) - { - errno = 1; - return 0; - } - ],[ - errno = 0; - pthread_t t1; - pthread_create(&t1, NULL, thread1_func, NULL); - pthread_join(t1, NULL); - return errno; - ])], - [AC_MSG_RESULT(yes)], - [ - AC_MSG_RESULT(no) - AC_MSG_FAILURE([errno is not threadsafe - check your compiler settings]) - ], - [AC_MSG_RESULT(crosscompiling, skipped)] -) - pcre2_min_version=10.21 EXTRA_PCRE2= AC_ARG_WITH( From 3f6ed72a6bfd9bc5b4ede10b28d6712f16ea4b91 Mon Sep 17 00:00:00 2001 From: Andrew Toskin Date: Sat, 12 Aug 2017 00:50:45 -0700 Subject: [PATCH 005/110] Really spell out the last of the required UNIX utilities. Finishing the job started in Pull Request #4301 Thanks to @faho for filtering and sorting my giant list of detected possible commands. --- README.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c98751418..b39b4908a 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,20 @@ Compiling fish requires: At runtime, fish requires: -* a curses implementation, such as ncurses. +* a curses implementation such as ncurses (which should provide the `tput` command). * gettext, if you need the localizations. * PCRE2, due to the regular expression support contained in the `string` builtin. A copy is included with the source code, and will be used automatically if it does not already exist on your system. -* a number of common UNIX utilities: coreutils (at least ls, seq, rm, mktemp), hostname, grep, awk, sed, and getopt. +* a number of common UNIX utilities: + * an awk implementation, such as gawk, mawk, etc + * coreutils --- at least basename, cat, cut, date, dircolors, dirname, ls, mkdir, mkfifo, mktemp, rm, seq, sort, stat, stty, tail, tr, tty, uname, uniq, wc, whoami + * find + * getent (part of glibc) + * getopt + * grep + * hostname + * kill + * ps + * sed * bc, the "basic calculator" program. Optional functionality should degrade gracefully. (If fish ever threw a syntax error or a core dump due to missing dependencies for an optional feature, it would be a bug in fish and should be reported on our GitHub.) Optional features and dependencies include: From 4fd458900bf79c4b85b79e7bd61ab9badf09c20f Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 12 Aug 2017 09:54:26 -0500 Subject: [PATCH 006/110] Silence unused result warnings on newer compilers Newer versions of GCC and Clang are not satisfied by a cast to void, this fix is adapted from glibc's solution. New wrapper function ignore_result should be used when a function with explicit _unused_attribute_ wrapper is called whose result will not be handled. --- src/common.cpp | 6 +++--- src/common.h | 25 +++++++++++++++++++------ src/env_universal_common.cpp | 4 ++-- src/path.cpp | 2 +- src/reader.cpp | 8 ++++---- src/wutil.cpp | 2 +- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/src/common.cpp b/src/common.cpp index b52dbf076..be5c6bf43 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -616,14 +616,14 @@ void debug_safe(int level, const char *msg, const char *param1, const char *para const char *end = strchr(cursor, '%'); if (end == NULL) end = cursor + strlen(cursor); - (void)write(STDERR_FILENO, cursor, end - cursor); + ignore_result(write(STDERR_FILENO, cursor, end - cursor)); if (end[0] == '%' && end[1] == 's') { // Handle a format string. assert(param_idx < sizeof params / sizeof *params); const char *format = params[param_idx++]; if (!format) format = "(null)"; - (void)write(STDERR_FILENO, format, strlen(format)); + ignore_result(write(STDERR_FILENO, format, strlen(format))); cursor = end + 2; } else if (end[0] == '\0') { // Must be at the end of the string. @@ -635,7 +635,7 @@ void debug_safe(int level, const char *msg, const char *param1, const char *para } // We always append a newline. - (void)write(STDERR_FILENO, "\n", 1); + ignore_result(write(STDERR_FILENO, "\n", 1)); errno = errno_old; } diff --git a/src/common.h b/src/common.h index aa0085378..46953359f 100644 --- a/src/common.h +++ b/src/common.h @@ -199,12 +199,12 @@ extern bool has_working_tty_timestamps; // from within a `switch` block. As of the time I'm writing this oclint doesn't recognize the // `__attribute__((noreturn))` on the exit_without_destructors() function. // TODO: we use C++11 [[noreturn]] now, does that change things? -#define FATAL_EXIT() \ - { \ - char exit_read_buff; \ - show_stackframe(L'E'); \ - (void)read(0, &exit_read_buff, 1); \ - exit_without_destructors(1); \ +#define FATAL_EXIT() \ + { \ + char exit_read_buff; \ + show_stackframe(L'E'); \ + ignore_result(read(0, &exit_read_buff, 1)); \ + exit_without_destructors(1); \ } /// Exit the program at once after emitting an error message and stack trace if possible. @@ -876,4 +876,17 @@ enum { /// like an unrecognized flag, missing or too many arguments, an invalid integer, etc. But STATUS_INVALID_ARGS = 121, }; + +/* Normally casting an expression to void discards its value, but GCC + versions 3.4 and newer have __attribute__ ((__warn_unused_result__)) + which may cause unwanted diagnostics in that case. Use __typeof__ + and __extension__ to work around the problem, if the workaround is + known to be needed. */ +#if 3 < __GNUC__ + (4 <= __GNUC_MINOR__) +# define ignore_result(x) \ + (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; })) +#else +# define ignore_result(x) ((void) (x)) +#endif + #endif diff --git a/src/env_universal_common.cpp b/src/env_universal_common.cpp index 00228113f..eac8b1e10 100644 --- a/src/env_universal_common.cpp +++ b/src/env_universal_common.cpp @@ -1209,7 +1209,7 @@ class universal_notifier_named_pipe_t : public universal_notifier_t { // would cause us to hang! size_t read_amt = 64 * 1024; void *buff = malloc(read_amt); - (void)read(this->pipe_fd, buff, read_amt); + ignore_result(read(this->pipe_fd, buff, read_amt)); free(buff); } @@ -1308,7 +1308,7 @@ class universal_notifier_named_pipe_t : public universal_notifier_t { while (this->readback_amount > 0) { char buff[64]; size_t amt_to_read = mini(this->readback_amount, sizeof buff); - (void)read(this->pipe_fd, buff, amt_to_read); + ignore_result(read(this->pipe_fd, buff, amt_to_read)); this->readback_amount -= amt_to_read; } assert(this->readback_amount == 0); diff --git a/src/path.cpp b/src/path.cpp index 7af742974..36997b76d 100644 --- a/src/path.cpp +++ b/src/path.cpp @@ -275,7 +275,7 @@ static void maybe_issue_path_warning(const wcstring &which_dir, const wcstring & debug(0, _(L"The error was '%s'."), strerror(saved_errno)); debug(0, _(L"Please set $%ls to a directory where you have write access."), env_var); } - (void)write(STDERR_FILENO, "\n", 1); + ignore_result(write(STDERR_FILENO, "\n", 1)); } static void path_create(wcstring &path, const wcstring &xdg_var, const wcstring &which_dir, diff --git a/src/reader.cpp b/src/reader.cpp index 1855fece9..c0f519be3 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -696,14 +696,14 @@ void reader_write_title(const wcstring &cmd, bool reset_cursor_position) { for (size_t i = 0; i < lst.size(); i++) { fputws(lst.at(i).c_str(), stdout); } - (void)write(STDOUT_FILENO, "\a", 1); + ignore_result(write(STDOUT_FILENO, "\a", 1)); } proc_pop_interactive(); set_color(rgb_color_t::reset(), rgb_color_t::reset()); if (reset_cursor_position && !lst.empty()) { // Put the cursor back at the beginning of the line (issue #2453). - (void)write(STDOUT_FILENO, "\r", 1); + ignore_result(write(STDOUT_FILENO, "\r", 1)); } } @@ -1291,7 +1291,7 @@ static void reader_flash() { } reader_repaint(); - (void)write(STDOUT_FILENO, "\a", 1); + ignore_result(write(STDOUT_FILENO, "\a", 1)); pollint.tv_sec = 0; pollint.tv_nsec = 100 * 1000000; @@ -3248,7 +3248,7 @@ const wchar_t *reader_readline(int nchars) { reader_repaint_if_needed(); } - (void)write(STDOUT_FILENO, "\n", 1); + ignore_result(write(STDOUT_FILENO, "\n", 1)); // Ensure we have no pager contents when we exit. if (!data->pager.empty()) { diff --git a/src/wutil.cpp b/src/wutil.cpp index fd1586950..d777555bf 100644 --- a/src/wutil.cpp +++ b/src/wutil.cpp @@ -338,7 +338,7 @@ void safe_perror(const char *message) { safe_append(buff, safe_strerror(err), sizeof buff); safe_append(buff, "\n", sizeof buff); - (void)write(STDERR_FILENO, buff, strlen(buff)); + ignore_result(write(STDERR_FILENO, buff, strlen(buff))); errno = err; } From d407c22ee79fa7869395bb9d34e5f0f91f4ccb6e Mon Sep 17 00:00:00 2001 From: Andrew Toskin Date: Sat, 12 Aug 2017 22:40:48 -0700 Subject: [PATCH 007/110] getopt isn't used anymore, and getent itself is optional. getopt doesn't work very well in the BSDs, and getent has plenty of fallbacks to replace it when it's not available. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index b39b4908a..4c36b4e35 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,6 @@ At runtime, fish requires: * an awk implementation, such as gawk, mawk, etc * coreutils --- at least basename, cat, cut, date, dircolors, dirname, ls, mkdir, mkfifo, mktemp, rm, seq, sort, stat, stty, tail, tr, tty, uname, uniq, wc, whoami * find - * getent (part of glibc) - * getopt * grep * hostname * kill From ea3e9698df0d42e06d66fb9bcabd88b31a8e4b23 Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Tue, 15 Aug 2017 12:21:43 -0700 Subject: [PATCH 008/110] Enable support for custom versioning Now that we're working on the 3.0.0 major release it is more important than ever that fish binaries built by developers have version strings which clearly communicate where they came from. --- CONTRIBUTING.md | 6 ++++++ build_tools/git_version_gen.sh | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a01431df2..0f204772b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,6 +6,10 @@ See the bottom of this document for help on installing the linting and style ref Fish source should limit the C++ features it uses to those available in C++11. It should not use exceptions. +## Versioning + +The fish version is constructed by the *build_tools/git_version_gen.sh* script. For developers the version is the branch name plus the output of `git describe --always --dirty --tags`. Normally the main part of the version will be the closest annotate tag. Which itself is usually the most recent release number (e.g., `2.6.0`). It can be useful to create a lightweight tag to make it clear that a fish binary is based on a particular development branch. For example, `git tag 3.0alpha` to make it clear that fish was built from the 3.x major release development branch regardless of the branch name. + ## Include What You Use You should not depend on symbols being visible to a `*.cpp` module from `#include` statements inside another header file. In other words if your module does `#include "common.h"` and that header does `#include "signal.h"` your module should not assume the sub-include is present. It should instead directly `#include "signal.h"` if it needs any symbol from that header. That makes the actual dependencies much clearer. It also makes it easy to modify the headers included by a specific header file without having to worry that will break any module (or header) that includes a particular header. @@ -132,6 +136,8 @@ code to ignore // clang-format on ``` +However, as I write this there are no places in the code where we use this and I can't think of any legitimate reasons for exempting blocks of code from clang-format. + ## Fish Script Style Guide 1. All fish scripts, such as those in the *share/functions* and *tests* directories, should be formatted using the `fish_indent` command. diff --git a/build_tools/git_version_gen.sh b/build_tools/git_version_gen.sh index ac3c26186..b5bffa599 100755 --- a/build_tools/git_version_gen.sh +++ b/build_tools/git_version_gen.sh @@ -12,7 +12,7 @@ DEF_VER=unknown if test -f version then VN=$(cat version) || VN="$DEF_VER" -elif ! VN=$(git describe --always --dirty 2>/dev/null); then +elif ! VN=$(git rev-parse --abbrev-ref HEAD)/$(git describe --always --dirty --tags 2>/dev/null); then VN="$DEF_VER" fi From 64eaf7ca5aa78a74212f469744809113a9f9ec94 Mon Sep 17 00:00:00 2001 From: David Adam Date: Wed, 16 Aug 2017 19:20:47 +0800 Subject: [PATCH 009/110] Revert "Enable support for custom versioning" This reverts functional changes in commit ea3e9698df0d42e06d66fb9bcabd88b31a8e4b23. * Annotated tags only should be used for releases - see #3572 for examples of where we want to use lightweight tags. See also git-tag(1) on the purpose of annotated and lightweight tags. * Version numbers are numbers and should not start with a branch name. The commit ID is embedded in the version and uniquely identifies the history. `fish --version` and `echo $FISH_VERSION` contain this information. (cherry picked from commit dcb39bfa869c0dd35409fb6c735632fec2510da1) --- CONTRIBUTING.md | 2 +- build_tools/git_version_gen.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0f204772b..2dfb0cc13 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Fish source should limit the C++ features it uses to those available in C++11. I ## Versioning -The fish version is constructed by the *build_tools/git_version_gen.sh* script. For developers the version is the branch name plus the output of `git describe --always --dirty --tags`. Normally the main part of the version will be the closest annotate tag. Which itself is usually the most recent release number (e.g., `2.6.0`). It can be useful to create a lightweight tag to make it clear that a fish binary is based on a particular development branch. For example, `git tag 3.0alpha` to make it clear that fish was built from the 3.x major release development branch regardless of the branch name. +The fish version is constructed by the *build_tools/git_version_gen.sh* script. For developers the version is the branch name plus the output of `git describe --always --dirty`. Normally the main part of the version will be the closest annotated tag. Which itself is usually the most recent release number (e.g., `2.6.0`). ## Include What You Use diff --git a/build_tools/git_version_gen.sh b/build_tools/git_version_gen.sh index b5bffa599..ac3c26186 100755 --- a/build_tools/git_version_gen.sh +++ b/build_tools/git_version_gen.sh @@ -12,7 +12,7 @@ DEF_VER=unknown if test -f version then VN=$(cat version) || VN="$DEF_VER" -elif ! VN=$(git rev-parse --abbrev-ref HEAD)/$(git describe --always --dirty --tags 2>/dev/null); then +elif ! VN=$(git describe --always --dirty 2>/dev/null); then VN="$DEF_VER" fi From dbb07bc3f5a8ac8b76030ec16fc3757eb002760d Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Wed, 16 Aug 2017 13:19:17 -0700 Subject: [PATCH 010/110] fix `set --show` of semi-empty var A semi-empty var is one with a single empty string element. The `env_var_t::empty()` method returns true for such vars but we want `set --show` to report that it has a single empty element. --- src/builtin_set.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builtin_set.cpp b/src/builtin_set.cpp index 97bb4ba52..06140b95c 100644 --- a/src/builtin_set.cpp +++ b/src/builtin_set.cpp @@ -330,7 +330,7 @@ static void show_scope(const wchar_t *var_name, int scope, io_streams_t &streams const env_var_t var = env_get_string(var_name, scope | ENV_USER); wcstring_list_t result; - if (!var.empty()) tokenize_variable_array(var, result); + tokenize_variable_array(var, result); streams.out.append_format(_(L"$%ls: set in %ls scope, %ls, with %d elements\n"), var_name, scope_name, exportv, result.size()); From 277db1c1afa071e9453071a7ffd7abb91f02d3f6 Mon Sep 17 00:00:00 2001 From: Georgy Yakovlev Date: Thu, 17 Aug 2017 09:24:14 -0700 Subject: [PATCH 011/110] Do not redirect to / in status.in/err test. --- tests/status.err | 2 +- tests/status.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/status.err b/tests/status.err index d2b89daf6..2dc6956a2 100644 --- a/tests/status.err +++ b/tests/status.err @@ -1,4 +1,4 @@ - fish: An error occurred while redirecting file '/' + fish: An error occurred while redirecting file '.' open: Is a directory status: Invalid combination of options, you cannot do both 'is-interactive' and 'is-login' in the same invocation diff --git a/tests/status.in b/tests/status.in index 3049e9184..ee16ecdad 100644 --- a/tests/status.in +++ b/tests/status.in @@ -10,7 +10,7 @@ end # Issue #1728 # Bad file redirection on a block causes `status --is-block` to return 0 forever. -begin; end >/ # / is a directory, it can't be opened for writing +begin; end >. # . is a directory, it can't be opened for writing status -b and echo '"status -b" unexpectedly returned true after bad redirect on a begin block' From 3fe561bc932dbe54e9d3a56ac8f5e6614a784b1b Mon Sep 17 00:00:00 2001 From: Matus Goljer Date: Tue, 8 Aug 2017 12:28:13 +0200 Subject: [PATCH 012/110] Add completion for packages in update subcommand This patch adds completion for the update subcommand, that is, when the user types in `composer update `. The code depends on python for the json parsing. I'm not sure if this is appropriate or if there is a fish-native way to parse json data. Use suggestions for remove subcommand. Add suggestions for why, why-not and depends. Add why/why-not suggestion. --- share/completions/composer.fish | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/share/completions/composer.fish b/share/completions/composer.fish index d7b78e9d7..c6fc03fb1 100644 --- a/share/completions/composer.fish +++ b/share/completions/composer.fish @@ -20,12 +20,51 @@ function __fish_composer_using_command return 1 end +function __fish_composer_required_packages + test -f composer.json; or return + echo " +import json +json_data = open('composer.json') +data = json.load(json_data) +json_data.close() +packages = data['require'].keys() + data['require-dev'].keys() +print \"\n\".join(packages) + " | python +end + +function __fish_composer_installed_packages + test -f composer.lock; or return + echo " +import json +json_data = open('composer.lock') +data = json.load(json_data) +json_data.close() +installed_packages = [] +for package in data['packages']: + installed_packages.append(package['name']) +for package in data['packages-dev']: + installed_packages.append(package['name']) +print \"\n\".join(installed_packages) +" | python +end + #add cmds list set --local composer_cmds 'about' 'archive' 'browse' 'clear-cache' 'clearcache' 'config' 'create-project' 'depends' 'diagnose' 'dump-autoload' 'dumpautoload' 'global' 'help' 'home' 'init' 'install' 'licenses' 'list' 'remove' 'require' 'run-script' 'search' 'self-update' 'selfupdate' 'show' 'status' 'update' 'validate' #help complete -f -c composer -n '__fish_composer_using_command help' -a "$composer_cmds" +#update +complete -f -c composer -n '__fish_composer_using_command update' -a "(__fish_composer_required_packages)" + +#remove +complete -f -c composer -n '__fish_composer_using_command remove' -a "(__fish_composer_required_packages)" + +#diagnostics on installed commands +complete -f -c composer -n '__fish_composer_using_command why' -a "(__fish_composer_installed_packages)" +complete -f -c composer -n '__fish_composer_using_command why-not' -a "(__fish_composer_installed_packages)" +complete -f -c composer -n '__fish_composer_using_command depends' -a "(__fish_composer_installed_packages)" + #popisky complete -f -c composer -n '__fish_composer_needs_command' -a 'about' -d 'Short information about Composer' complete -f -c composer -n '__fish_composer_needs_command' -a 'archive' -d 'Create an archive of this composer package' @@ -55,6 +94,8 @@ complete -f -c composer -n '__fish_composer_needs_command' -a 'show' -d 'Show in complete -f -c composer -n '__fish_composer_needs_command' -a 'status' -d 'Show a list of locally modified packages' complete -f -c composer -n '__fish_composer_needs_command' -a 'update' -d 'Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.' complete -f -c composer -n '__fish_composer_needs_command' -a 'validate' -d 'Validates a composer.json' +complete -f -c composer -n '__fish_composer_needs_command' -a 'why' -d 'Shows which packages cause the given package to be installed' +complete -f -c composer -n '__fish_composer_needs_command' -a 'why-not' -d 'Shows which packages prevent the given package from being installed' complete -f -c composer -n '__fish_composer_needs_command' -s 'h' -l 'help' -d 'Displays composer\'s help.' complete -f -c composer -n '__fish_composer_needs_command' -s 'q' -l 'quiet' -d 'Do not output any message.' From bf3731bed49bd346811829edd9e7685f162ef1d8 Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Thu, 17 Aug 2017 10:31:48 -0700 Subject: [PATCH 013/110] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5eff53e70..ac247f75e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,8 @@ - `jest` (#4142). - `subl` (Sublime Text 3 editor, #4277) - `snap` (#4215) +- Improved completions for: + - `composer` (#4295) --- From 2761cf1bf573667b1980d006241e8c90a3de49ce Mon Sep 17 00:00:00 2001 From: MoritzKn Date: Tue, 15 Aug 2017 21:21:49 +0200 Subject: [PATCH 014/110] Update xdg-mime helper This will respect the `/usr/local/share/applications/` directory when fetching mime infos. Update xdg-mime helper to comply with the xdg spec. This also makes sure __fish_print_xdg_applications_directories only prints directories that exist. Relevant specs: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html https://specifications.freedesktop.org/desktop-entry-spec/latest/ape.html --- share/completions/xdg-mime.fish | 3 +-- ...sh_print_xdg_applications_directories.fish | 20 +++++++++++++++++++ .../__fish_print_xdg_desktop_file_ids.fish | 3 +++ .../functions/__fish_print_xdg_mimeapps.fish | 4 ---- .../functions/__fish_print_xdg_mimetypes.fish | 2 +- 5 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 share/functions/__fish_print_xdg_applications_directories.fish create mode 100644 share/functions/__fish_print_xdg_desktop_file_ids.fish delete mode 100644 share/functions/__fish_print_xdg_mimeapps.fish diff --git a/share/completions/xdg-mime.fish b/share/completions/xdg-mime.fish index e2b597dce..ff8543d39 100644 --- a/share/completions/xdg-mime.fish +++ b/share/completions/xdg-mime.fish @@ -12,7 +12,7 @@ complete -c xdg-mime -d 'Query default application for type' -n 'contains_seq qu complete -c xdg-mime -d 'Query file\'s filetype' -n 'contains_seq query filetype -- (commandline -cop)' -r # complete xdg-mime default -complete -c xdg-mime -d 'Choose application' -n '__fish_seen_subcommand_from default; and __fish_is_token_n 3' -xa '(__fish_print_xdg_mimeapps)' +complete -c xdg-mime -d 'Choose application' -n '__fish_seen_subcommand_from default; and __fish_is_token_n 3' -xa '(__fish_print_xdg_desktop_file_ids)' complete -c xdg-mime -d 'Mimetype' -n '__fish_seen_subcommand_from default; and __fish_is_token_n 4' -xa '(__fish_print_xdg_mimetypes)' # complete xdg-mime install @@ -29,4 +29,3 @@ complete -c xdg-mime -d 'Set mode' -n 'contains_seq xdg-mime complete -c xdg-mime -l help -d 'Display help' complete -c xdg-mime -l manual -d 'Diplay long help' complete -c xdg-mime -l version -d 'Print version' - diff --git a/share/functions/__fish_print_xdg_applications_directories.fish b/share/functions/__fish_print_xdg_applications_directories.fish new file mode 100644 index 000000000..c4a102aca --- /dev/null +++ b/share/functions/__fish_print_xdg_applications_directories.fish @@ -0,0 +1,20 @@ +function __fish_print_xdg_applications_directories --description 'Print directories where desktop files are stored' + set -l data_home $XDG_DATA_HOME + if test -z "$data_home" + set data_home $HOME/.local/share/ + end + + set -l data_dirs $XDG_DATA_DIRS + if test -z "$data_dirs" + set data_dirs /usr/local/share/:/usr/share/ + end + + set data_dirs $data_home:$data_dirs + + for path in (string split : $data_dirs) + set path $path"applications" + if test -d $path + echo $path + end + end +end diff --git a/share/functions/__fish_print_xdg_desktop_file_ids.fish b/share/functions/__fish_print_xdg_desktop_file_ids.fish new file mode 100644 index 000000000..26673c1b5 --- /dev/null +++ b/share/functions/__fish_print_xdg_desktop_file_ids.fish @@ -0,0 +1,3 @@ +function __fish_print_xdg_desktop_file_ids --description 'Print all available xdg desktop file IDs' + find (__fish_print_xdg_applications_directories) -name \*.desktop \( -type f -or -type l \) -printf '%P\n' | tr / - | sort -u +end diff --git a/share/functions/__fish_print_xdg_mimeapps.fish b/share/functions/__fish_print_xdg_mimeapps.fish deleted file mode 100644 index f5b231418..000000000 --- a/share/functions/__fish_print_xdg_mimeapps.fish +++ /dev/null @@ -1,4 +0,0 @@ -function __fish_print_xdg_mimeapps --description 'Print xdg mime applications' - find ~/.local/share/applications/ /usr/share/applications/ -name \*.desktop \( -type f -or -type l \) -printf '%P\n' | sort -u - -end diff --git a/share/functions/__fish_print_xdg_mimetypes.fish b/share/functions/__fish_print_xdg_mimetypes.fish index 5d944a623..79d4dbf21 100644 --- a/share/functions/__fish_print_xdg_mimetypes.fish +++ b/share/functions/__fish_print_xdg_mimetypes.fish @@ -1,3 +1,3 @@ function __fish_print_xdg_mimetypes --description 'Print XDG mime types' - cat ~/.local/share/applications/mimeinfo.cache /usr/share/applications/mimeinfo.cache ^/dev/null | string match -v '[MIME Cache]' | string replace = \t + cat {__fish_print_xdg_applications_directories}/mimeinfo.cache ^/dev/null | string match -v '[MIME Cache]' | string replace = \t end From 4b51e0f93597f8f6f7ab1ab81e167dbfbde6a7c0 Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Thu, 17 Aug 2017 10:54:05 -0700 Subject: [PATCH 015/110] Fix typo in xdg-mime completion functions --- CHANGELOG.md | 1 + share/functions/__fish_print_xdg_mimetypes.fish | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac247f75e..f1370c985 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - `snap` (#4215) - Improved completions for: - `composer` (#4295) + - `xdg-mime` (#4333) --- diff --git a/share/functions/__fish_print_xdg_mimetypes.fish b/share/functions/__fish_print_xdg_mimetypes.fish index 79d4dbf21..ec7252f44 100644 --- a/share/functions/__fish_print_xdg_mimetypes.fish +++ b/share/functions/__fish_print_xdg_mimetypes.fish @@ -1,3 +1,3 @@ function __fish_print_xdg_mimetypes --description 'Print XDG mime types' - cat {__fish_print_xdg_applications_directories}/mimeinfo.cache ^/dev/null | string match -v '[MIME Cache]' | string replace = \t + cat (__fish_print_xdg_applications_directories)/mimeinfo.cache ^/dev/null | string match -v '[MIME Cache]' | string replace = \t end From 539acd9fc5ca7dc22b99b98ed2da6956d121e945 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 15 Aug 2017 13:50:39 -0500 Subject: [PATCH 016/110] Provide completions for s3cmd No longer auto-generated. Everything has been summarized. Supressing file completions for initial command, providing list of valid initial commands, filtering --options by subcommand. --- share/completions/s3cmd.fish | 178 +++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 share/completions/s3cmd.fish diff --git a/share/completions/s3cmd.fish b/share/completions/s3cmd.fish new file mode 100644 index 000000000..34c6223d3 --- /dev/null +++ b/share/completions/s3cmd.fish @@ -0,0 +1,178 @@ +# s3cmd + +function __s3cmd_is_remote_path + commandline -pct | string match -r -- "^s3://.*" +end + +function __s3cmd_is_valid_remote_path + commandline -pct | string match -r -- "^s3://.*?/.*" +end + +function __prev_tokens + set __tokens (commandline -pco) + for arg in $argv + if echo $__tokens[-1] | string match $arg + return 0 + end + end + return 1 +end + +function __initial_command + set __tokens (commandline -pco) + string match (count $__tokens) 1 +end + +# Completions to allow for autocomplete of remote paths +complete -c s3cmd -f -n "__s3cmd_is_valid_remote_path" -a "(s3cmd ls (commandline -ct) 2>/dev/null)" +complete -c s3cmd -f -n "__s3cmd_is_remote_path" + +# Supress file completions for initial command +complete -c s3cmd -n "__initial_command" -f + +# Avaialable commands +complete -c s3cmd -n "__initial_command" -a 'mb' --description 'Make bucket' +complete -c s3cmd -n "__initial_command" -a 'rb' --description 'Remove bucket' +complete -c s3cmd -n "__initial_command" -a 'ls' --description 'List objects or buckets' +complete -c s3cmd -n "__initial_command" -a 'la' --description 'List all object in all buckets' +complete -c s3cmd -n "__initial_command" -a 'put' --description 'Put file into bucket' +complete -c s3cmd -n "__initial_command" -a 'get' --description 'Get file from bucket' +complete -c s3cmd -n "__initial_command" -a 'del' --description 'Delete file from bucket' +complete -c s3cmd -n "__initial_command" -a 'rm' --description 'Delete file from bucket (alias for del)' +complete -c s3cmd -n "__initial_command" -a 'restore' --description 'Restore file from Glacier storage' +complete -c s3cmd -n "__initial_command" -a 'sync' --description 'Synchronize a directory tree to S3' +complete -c s3cmd -n "__initial_command" -a 'du' --description 'Disk usage by buckets' +complete -c s3cmd -n "__initial_command" -a 'info' --description 'Get various information about Buckets or Files' +complete -c s3cmd -n "__initial_command" -a 'cp' --description 'Copy object' +complete -c s3cmd -n "__initial_command" -a 'modify' --description 'Modify object metadata' +complete -c s3cmd -n "__initial_command" -a 'mv' --description 'Move object' +complete -c s3cmd -n "__initial_command" -a 'setacl' --description 'Modify Access control list for Bucket or Files' +complete -c s3cmd -n "__initial_command" -a 'setpolicy' --description 'Modify Bucket Policy' +complete -c s3cmd -n "__initial_command" -a 'delpolicy' --description 'Delete Bucket Policy' +complete -c s3cmd -n "__initial_command" -a 'setcors' --description 'Modify Bucket CORS' +complete -c s3cmd -n "__initial_command" -a 'delcors' --description 'Delete Bucket CORS' +complete -c s3cmd -n "__initial_command" -a 'payer' --description 'Modify Bucket Requester Pays policy' +complete -c s3cmd -n "__initial_command" -a 'multipart' --description 'Show multipart uploads' +complete -c s3cmd -n "__initial_command" -a 'abortmp' --description 'Abort a multipart upload' +complete -c s3cmd -n "__initial_command" -a 'listmp' --description 'List parts of a multipart upload' +complete -c s3cmd -n "__initial_command" -a 'accesslog' --description 'Enable/disable bucket access logging' +complete -c s3cmd -n "__initial_command" -a 'sign' --description 'Sign arbitrary string using the secret key' +complete -c s3cmd -n "__initial_command" -a 'signurl' --description 'Sign an S3 URL to provide limited public access with expiry' +complete -c s3cmd -n "__initial_command" -a 'fixbucket' --description 'Fix invalid file names in a bucket' +complete -c s3cmd -n "__initial_command" -a 'ws-create' --description 'Create Website from bucket' +complete -c s3cmd -n "__initial_command" -a 'ws-delete' --description 'Delete Website' +complete -c s3cmd -n "__initial_command" -a 'ws-info' --description 'Info about Website' +complete -c s3cmd -n "__initial_command" -a 'expire' --description 'Set or delete expiration rule for the bucket' +complete -c s3cmd -n "__initial_command" -a 'setlifecycle' --description 'Upload a lifecycle policy for the bucket' +complete -c s3cmd -n "__initial_command" -a 'dellifecycle' --description 'Remove a lifecycle policy for the bucket' +complete -c s3cmd -n "__initial_command" -a 'cflist' --description 'List CloudFront distribution points' +complete -c s3cmd -n "__initial_command" -a 'cfinfo' --description 'Display CloudFront distribution point parameters' +complete -c s3cmd -n "__initial_command" -a 'cfcreate' --description 'Create CloudFront distribution point' +complete -c s3cmd -n "__initial_command" -a 'cfdelete' --description 'Delete CloudFront distribution point' +complete -c s3cmd -n "__initial_command" -a 'cfmodify' --description 'Change CloudFront distribution point parameters' +complete -c s3cmd -n "__initial_command" -a 'cfinvalinfo' --description 'Display CloudFront invalidation request(s) status' + +# Created against s3cmd version 2.0 +complete -c s3cmd -s h -l help --description 'Show help and exit' +complete -c s3cmd -l configure --description 'Run interactive (re)configuration tool' +complete -c s3cmd -s c -l config --description 'Config file (default: $HOME/.s3cfg)' +complete -c s3cmd -l dump-config --description 'Dump current configuration' +complete -c s3cmd -l access_key --description 'AWS Access Key' +complete -c s3cmd -l secret_key --description 'AWS Secret Key' +complete -c s3cmd -l access_token --description 'AWS Access Token' +complete -c s3cmd -s n -l dry-run --description 'Dry run, test only' +complete -c s3cmd -s s -l ssl --description 'Use HTTPS (default)' +complete -c s3cmd -l no-ssl --description 'Don\'t use HTTPS' +complete -c s3cmd -s e -l encrypt --description 'Encrypt files before uploading' +complete -c s3cmd -l no-encrypt --description 'Don\'t encrypt files' +complete -c s3cmd -s f -l force --description 'Force overwrite' +complete -c s3cmd -l continue --description 'Resume partially downloaded file' -n "__prev_tokens get" +complete -c s3cmd -l continue-put --description 'Resume partially uploaded files' +complete -c s3cmd -l upload-id --description 'Resume multipart upload by UploadId' +complete -c s3cmd -l skip-existing --description 'Skip existing files at destination' -n "__prev_tokens get sync" +complete -c s3cmd -s r -l recursive --description 'Upload/download/delete recursively' +complete -c s3cmd -l check-md5 --description 'Check MD5 sums (default)' -n "__prev_tokens sync" +complete -c s3cmd -l no-check-md5 --description 'Skip MD5 sum check' -n "__prev_tokens sync" +complete -c s3cmd -s P -l acl-public --description 'Store with ACL read for all' +complete -c s3cmd -l acl-private --description 'Store with private ACL' +complete -c s3cmd -l acl-grant --description 'Grant permission to named user' +complete -c s3cmd -l acl-revoke --description 'Revoke permission to named user' +complete -c s3cmd -s D -l restore-days --description 'Days to keep restored file' +complete -c s3cmd -l restore-priority --description 'S3 glacier restore priority' +complete -c s3cmd -l delete-removed --description 'Delete objects not found locally' -n "__prev_tokens sync" +complete -c s3cmd -l no-delete-removed --description 'Don\'t delete dest objects' +complete -c s3cmd -l delete-after --description 'Delete after upload' -n "__prev_tokens sync" +complete -c s3cmd -l max-delete --description 'Delete no more than NUM files' -n "__prev_tokens del sync" +complete -c s3cmd -l limit --description 'Max objects per response' -n "__prev_tokens ls la" +complete -c s3cmd -l add-destination --description 'Additional parallel upload' +complete -c s3cmd -l delete-after-fetch --description 'Delete remotely after fetch' -n "__prev_tokens get sync" +complete -c s3cmd -s p -l preserve --description 'Preserve FS attributes' +complete -c s3cmd -l no-preserve --description 'Don\'t store FS attributes' +complete -c s3cmd -l exclude --description 'Exclude GLOB matches' +complete -c s3cmd -l exclude-from --description '--exclude GLOBs from FILE' +complete -c s3cmd -l rexclude --description 'Exclude REGEXP matches' +complete -c s3cmd -l rexclude-from --description 'Read --rexclude REGEXPs from FILE' +complete -c s3cmd -l include --description 'Include GLOB matches even if previously excluded' +complete -c s3cmd -l include-from --description 'Read --include GLOBs from FILE' +complete -c s3cmd -l rinclude --description 'Include REGEXP matches even if preiously excluded' +complete -c s3cmd -l rinclude-from --description 'Read --rinclude REGEXPs from FILE' +complete -c s3cmd -l files-from --description 'Read source-file names from FILE' +complete -c s3cmd -l region -l bucket-location --description 'Create bucket in region' +complete -c s3cmd -l host --description 'S3 endpoint (default: s3.amazonaws.com)' +complete -c s3cmd -l host-bucket --description 'DNS-style bucket+hostname:port template for bucket' +complete -c s3cmd -l reduced-redundancy -l rr --description 'Store with reduced redundancy' -n "__prev_tokens put cp mv" +complete -c s3cmd -l no-reduced-redundancy -l no-rr --description 'Store without reduced redundancy' -n "__prev_tokens put cp mv" +complete -c s3cmd -l storage-class --description 'Store with STANDARD, STANDARD_IA, or REDUCED_REDUNDANCY' +complete -c s3cmd -l access-logging-target-prefix --description 'Prefix for access logs' -n "__prev_tokens cfmodify accesslog" +complete -c s3cmd -l no-access-logging --description 'Disable access logging' -n "__prev_tokens cfmodify accesslog" +complete -c s3cmd -l default-mime-type --description 'Default MIME-type for objects' +complete -c s3cmd -s M -l guess-mime-type --description 'Guess MIME-type' +complete -c s3cmd -l no-guess-mime-type --description 'Don\'t guess MIME-type, use default' +complete -c s3cmd -l no-mime-magic --description 'Don\'t use mime magic when guessing' +complete -c s3cmd -s m -l mime-type --description 'Force MIME-type' +complete -c s3cmd -l add-header --description 'Add HTTP header' +complete -c s3cmd -l remove-header --description 'Remove HTTP header' +complete -c s3cmd -l server-side-encryption --description 'Use server-side encryption for upload' +complete -c s3cmd -l server-side-encryption-kms-id --description 'Encrypt with specified AWS KMS-managed key' +complete -c s3cmd -l encoding --description 'Use specified encoding' +complete -c s3cmd -l add-encoding-exts --description 'Add encoding to CSV extension list' +complete -c s3cmd -l verbatim --description 'Use S3 name as-is' +complete -c s3cmd -l disable-multipart --description 'No multipart on files larger than --multipart-chunk-size-mb' +complete -c s3cmd -l multipart-chunk-size-mb --description 'Multipart upload chunk size' +complete -c s3cmd -l list-md5 --description 'Include MD5 sums in bucket listings' -n "__prev_tokens ls" +complete -c s3cmd -s H -l human-readable-sizes --description 'Print sizes in human-readable form' +complete -c s3cmd -l ws-index --description 'Name of index-document' -n "__prev_tokens ws-create" +complete -c s3cmd -l ws-error --description 'Name of error-document' -n "__prev_tokens ws-create" +complete -c s3cmd -l expiry-date --description 'When expiration rule takes effect' -n "__prev_tokens expire" +complete -c s3cmd -l expiry-days --description 'Days to expire' -n "__prev_tokens expire" +complete -c s3cmd -l expiry-prefix --description 'Apply expiry to objects matching prefix' -n "__prev_tokens expire" +complete -c s3cmd -l progress --description 'Show progress (default on TTY)' +complete -c s3cmd -l no-progress --description 'Don\'t show progress meter (default if non-TTY)' +complete -c s3cmd -l stats --description 'Show file transfer stats' +complete -c s3cmd -l enable --description 'Enable CloudFront distribution' -n "__prev_tokens cfmodify" +complete -c s3cmd -l disable --description 'Disable CloudFront distribution' -n "__prev_tokens cfmodify" +complete -c s3cmd -l cf-invalidate --description 'Invalidate CloudFront file' -n "__prev_tokens cfmodify" +complete -c s3cmd -l cf-invalidate-default-index --description 'Invalidate default index' -n "__prev_tokens cfmodify" +complete -c s3cmd -l cf-no-invalidate-default-index-root --description 'Don\'t invalidate default index' -n "__prev_tokens cfmodify" +complete -c s3cmd -l cf-add-cname --description 'Add CNAME to CloudFront distribution' -n "__prev_tokens cfcreate cfmodify" +complete -c s3cmd -l cf-remove-cname --description 'Remove CNAME from CloudFront distribution' -n "__prev_tokens cfmodify" +complete -c s3cmd -l cf-comment --description 'Set COMMENT for CloudFront distribution' -n "__prev_tokens cfcreate cfmodify" +complete -c s3cmd -l cf-default-root-object --description 'Set default root object' -n "__prev_tokens cfcreate cfmodify" +complete -c s3cmd -s v -l verbose --description 'Verbose output' +complete -c s3cmd -s d -l debug --description 'Debug output' +complete -c s3cmd -l version --description 'Show version' +complete -c s3cmd -s F -l follow-symlinks --description 'Follow symlinks' +complete -c s3cmd -l cache-file --description 'Cache FILE containing MD5 values' +complete -c s3cmd -s q -l quiet --description 'Silence stdout output' +complete -c s3cmd -l ca-certs --description 'Path to SSL CA certificate FILE' +complete -c s3cmd -l check-certificate --description 'Validate SSL certificate' +complete -c s3cmd -l no-check-certificate --description 'Don\'t validate SSL certificate' +complete -c s3cmd -l check-hostname --description 'Validate SSL hostname' +complete -c s3cmd -l no-check-hostname --description 'Don\'t validate SSL hostname' +complete -c s3cmd -l signature-v2 --description 'Use AWS Signature version 2' +complete -c s3cmd -l limit-rate --description 'Limit upload or download speed (bytes/sec)' +complete -c s3cmd -l requester-pays --description 'Set REQUESTER PAYS for operations' +complete -c s3cmd -s l -l long-listing --description 'Produce long listing' -n "__prev_tokens ls" +complete -c s3cmd -l stop-on-error --description 'Stop on error in transfer' +complete -c s3cmd -l content-disposition --description 'Provide Content-Disposition for signed URLs' +complete -c s3cmd -l content-type --description 'Provide Content-Type for signed URLs' From 7fe3cb7b29ebfcee6d41f417dfe502c47d2995f2 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 15 Aug 2017 13:58:48 -0500 Subject: [PATCH 017/110] fixup! Provide completions for s3cmd --- share/completions/s3cmd.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/completions/s3cmd.fish b/share/completions/s3cmd.fish index 34c6223d3..7e002d64f 100644 --- a/share/completions/s3cmd.fish +++ b/share/completions/s3cmd.fish @@ -30,7 +30,7 @@ complete -c s3cmd -f -n "__s3cmd_is_remote_path" # Supress file completions for initial command complete -c s3cmd -n "__initial_command" -f -# Avaialable commands +# Available commands complete -c s3cmd -n "__initial_command" -a 'mb' --description 'Make bucket' complete -c s3cmd -n "__initial_command" -a 'rb' --description 'Remove bucket' complete -c s3cmd -n "__initial_command" -a 'ls' --description 'List objects or buckets' From f706081ea4506efe44f1869772672b269e9f75ac Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Fri, 18 Aug 2017 11:51:14 -0500 Subject: [PATCH 018/110] Replace custom s3cmd completion functions with standard __fish_* functions Per the discussion with @faho in #4332, replaced some custom completion state detection functions with standard __fish_* functions used in other completion sources. --- share/completions/s3cmd.fish | 159 ++++++++++++++++------------------- 1 file changed, 72 insertions(+), 87 deletions(-) diff --git a/share/completions/s3cmd.fish b/share/completions/s3cmd.fish index 7e002d64f..7cad2d39a 100644 --- a/share/completions/s3cmd.fish +++ b/share/completions/s3cmd.fish @@ -1,26 +1,11 @@ # s3cmd function __s3cmd_is_remote_path - commandline -pct | string match -r -- "^s3://.*" + commandline -pct | string match -q -r -- "^s3://.*" end function __s3cmd_is_valid_remote_path - commandline -pct | string match -r -- "^s3://.*?/.*" -end - -function __prev_tokens - set __tokens (commandline -pco) - for arg in $argv - if echo $__tokens[-1] | string match $arg - return 0 - end - end - return 1 -end - -function __initial_command - set __tokens (commandline -pco) - string match (count $__tokens) 1 + commandline -pct | string match -q -r -- "^s3://.*?/.*" end # Completions to allow for autocomplete of remote paths @@ -28,49 +13,49 @@ complete -c s3cmd -f -n "__s3cmd_is_valid_remote_path" -a "(s3cmd ls (commandlin complete -c s3cmd -f -n "__s3cmd_is_remote_path" # Supress file completions for initial command -complete -c s3cmd -n "__initial_command" -f +complete -c s3cmd -n "__fish_is_first_token" -f # Available commands -complete -c s3cmd -n "__initial_command" -a 'mb' --description 'Make bucket' -complete -c s3cmd -n "__initial_command" -a 'rb' --description 'Remove bucket' -complete -c s3cmd -n "__initial_command" -a 'ls' --description 'List objects or buckets' -complete -c s3cmd -n "__initial_command" -a 'la' --description 'List all object in all buckets' -complete -c s3cmd -n "__initial_command" -a 'put' --description 'Put file into bucket' -complete -c s3cmd -n "__initial_command" -a 'get' --description 'Get file from bucket' -complete -c s3cmd -n "__initial_command" -a 'del' --description 'Delete file from bucket' -complete -c s3cmd -n "__initial_command" -a 'rm' --description 'Delete file from bucket (alias for del)' -complete -c s3cmd -n "__initial_command" -a 'restore' --description 'Restore file from Glacier storage' -complete -c s3cmd -n "__initial_command" -a 'sync' --description 'Synchronize a directory tree to S3' -complete -c s3cmd -n "__initial_command" -a 'du' --description 'Disk usage by buckets' -complete -c s3cmd -n "__initial_command" -a 'info' --description 'Get various information about Buckets or Files' -complete -c s3cmd -n "__initial_command" -a 'cp' --description 'Copy object' -complete -c s3cmd -n "__initial_command" -a 'modify' --description 'Modify object metadata' -complete -c s3cmd -n "__initial_command" -a 'mv' --description 'Move object' -complete -c s3cmd -n "__initial_command" -a 'setacl' --description 'Modify Access control list for Bucket or Files' -complete -c s3cmd -n "__initial_command" -a 'setpolicy' --description 'Modify Bucket Policy' -complete -c s3cmd -n "__initial_command" -a 'delpolicy' --description 'Delete Bucket Policy' -complete -c s3cmd -n "__initial_command" -a 'setcors' --description 'Modify Bucket CORS' -complete -c s3cmd -n "__initial_command" -a 'delcors' --description 'Delete Bucket CORS' -complete -c s3cmd -n "__initial_command" -a 'payer' --description 'Modify Bucket Requester Pays policy' -complete -c s3cmd -n "__initial_command" -a 'multipart' --description 'Show multipart uploads' -complete -c s3cmd -n "__initial_command" -a 'abortmp' --description 'Abort a multipart upload' -complete -c s3cmd -n "__initial_command" -a 'listmp' --description 'List parts of a multipart upload' -complete -c s3cmd -n "__initial_command" -a 'accesslog' --description 'Enable/disable bucket access logging' -complete -c s3cmd -n "__initial_command" -a 'sign' --description 'Sign arbitrary string using the secret key' -complete -c s3cmd -n "__initial_command" -a 'signurl' --description 'Sign an S3 URL to provide limited public access with expiry' -complete -c s3cmd -n "__initial_command" -a 'fixbucket' --description 'Fix invalid file names in a bucket' -complete -c s3cmd -n "__initial_command" -a 'ws-create' --description 'Create Website from bucket' -complete -c s3cmd -n "__initial_command" -a 'ws-delete' --description 'Delete Website' -complete -c s3cmd -n "__initial_command" -a 'ws-info' --description 'Info about Website' -complete -c s3cmd -n "__initial_command" -a 'expire' --description 'Set or delete expiration rule for the bucket' -complete -c s3cmd -n "__initial_command" -a 'setlifecycle' --description 'Upload a lifecycle policy for the bucket' -complete -c s3cmd -n "__initial_command" -a 'dellifecycle' --description 'Remove a lifecycle policy for the bucket' -complete -c s3cmd -n "__initial_command" -a 'cflist' --description 'List CloudFront distribution points' -complete -c s3cmd -n "__initial_command" -a 'cfinfo' --description 'Display CloudFront distribution point parameters' -complete -c s3cmd -n "__initial_command" -a 'cfcreate' --description 'Create CloudFront distribution point' -complete -c s3cmd -n "__initial_command" -a 'cfdelete' --description 'Delete CloudFront distribution point' -complete -c s3cmd -n "__initial_command" -a 'cfmodify' --description 'Change CloudFront distribution point parameters' -complete -c s3cmd -n "__initial_command" -a 'cfinvalinfo' --description 'Display CloudFront invalidation request(s) status' +complete -c s3cmd -n "__fish_is_first_token" -a 'mb' --description 'Make bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'rb' --description 'Remove bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'ls' --description 'List objects or buckets' +complete -c s3cmd -n "__fish_is_first_token" -a 'la' --description 'List all object in all buckets' +complete -c s3cmd -n "__fish_is_first_token" -a 'put' --description 'Put file into bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'get' --description 'Get file from bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'del' --description 'Delete file from bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'rm' --description 'Delete file from bucket (alias for del)' +complete -c s3cmd -n "__fish_is_first_token" -a 'restore' --description 'Restore file from Glacier storage' +complete -c s3cmd -n "__fish_is_first_token" -a 'sync' --description 'Synchronize a directory tree to S3' +complete -c s3cmd -n "__fish_is_first_token" -a 'du' --description 'Disk usage by buckets' +complete -c s3cmd -n "__fish_is_first_token" -a 'info' --description 'Get various information about Buckets or Files' +complete -c s3cmd -n "__fish_is_first_token" -a 'cp' --description 'Copy object' +complete -c s3cmd -n "__fish_is_first_token" -a 'modify' --description 'Modify object metadata' +complete -c s3cmd -n "__fish_is_first_token" -a 'mv' --description 'Move object' +complete -c s3cmd -n "__fish_is_first_token" -a 'setacl' --description 'Modify Access control list for Bucket or Files' +complete -c s3cmd -n "__fish_is_first_token" -a 'setpolicy' --description 'Modify Bucket Policy' +complete -c s3cmd -n "__fish_is_first_token" -a 'delpolicy' --description 'Delete Bucket Policy' +complete -c s3cmd -n "__fish_is_first_token" -a 'setcors' --description 'Modify Bucket CORS' +complete -c s3cmd -n "__fish_is_first_token" -a 'delcors' --description 'Delete Bucket CORS' +complete -c s3cmd -n "__fish_is_first_token" -a 'payer' --description 'Modify Bucket Requester Pays policy' +complete -c s3cmd -n "__fish_is_first_token" -a 'multipart' --description 'Show multipart uploads' +complete -c s3cmd -n "__fish_is_first_token" -a 'abortmp' --description 'Abort a multipart upload' +complete -c s3cmd -n "__fish_is_first_token" -a 'listmp' --description 'List parts of a multipart upload' +complete -c s3cmd -n "__fish_is_first_token" -a 'accesslog' --description 'Enable/disable bucket access logging' +complete -c s3cmd -n "__fish_is_first_token" -a 'sign' --description 'Sign arbitrary string using the secret key' +complete -c s3cmd -n "__fish_is_first_token" -a 'signurl' --description 'Sign an S3 URL to provide limited public access with expiry' +complete -c s3cmd -n "__fish_is_first_token" -a 'fixbucket' --description 'Fix invalid file names in a bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'ws-create' --description 'Create Website from bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'ws-delete' --description 'Delete Website' +complete -c s3cmd -n "__fish_is_first_token" -a 'ws-info' --description 'Info about Website' +complete -c s3cmd -n "__fish_is_first_token" -a 'expire' --description 'Set or delete expiration rule for the bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'setlifecycle' --description 'Upload a lifecycle policy for the bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'dellifecycle' --description 'Remove a lifecycle policy for the bucket' +complete -c s3cmd -n "__fish_is_first_token" -a 'cflist' --description 'List CloudFront distribution points' +complete -c s3cmd -n "__fish_is_first_token" -a 'cfinfo' --description 'Display CloudFront distribution point parameters' +complete -c s3cmd -n "__fish_is_first_token" -a 'cfcreate' --description 'Create CloudFront distribution point' +complete -c s3cmd -n "__fish_is_first_token" -a 'cfdelete' --description 'Delete CloudFront distribution point' +complete -c s3cmd -n "__fish_is_first_token" -a 'cfmodify' --description 'Change CloudFront distribution point parameters' +complete -c s3cmd -n "__fish_is_first_token" -a 'cfinvalinfo' --description 'Display CloudFront invalidation request(s) status' # Created against s3cmd version 2.0 complete -c s3cmd -s h -l help --description 'Show help and exit' @@ -86,26 +71,26 @@ complete -c s3cmd -l no-ssl --description 'Don\'t use HTTPS' complete -c s3cmd -s e -l encrypt --description 'Encrypt files before uploading' complete -c s3cmd -l no-encrypt --description 'Don\'t encrypt files' complete -c s3cmd -s f -l force --description 'Force overwrite' -complete -c s3cmd -l continue --description 'Resume partially downloaded file' -n "__prev_tokens get" +complete -c s3cmd -l continue --description 'Resume partially downloaded file' -n "__fish_seen_subcommand_from get" complete -c s3cmd -l continue-put --description 'Resume partially uploaded files' complete -c s3cmd -l upload-id --description 'Resume multipart upload by UploadId' -complete -c s3cmd -l skip-existing --description 'Skip existing files at destination' -n "__prev_tokens get sync" +complete -c s3cmd -l skip-existing --description 'Skip existing files at destination' -n "__fish_seen_subcommand_from get sync" complete -c s3cmd -s r -l recursive --description 'Upload/download/delete recursively' -complete -c s3cmd -l check-md5 --description 'Check MD5 sums (default)' -n "__prev_tokens sync" -complete -c s3cmd -l no-check-md5 --description 'Skip MD5 sum check' -n "__prev_tokens sync" +complete -c s3cmd -l check-md5 --description 'Check MD5 sums (default)' -n "__fish_seen_subcommand_from sync" +complete -c s3cmd -l no-check-md5 --description 'Skip MD5 sum check' -n "__fish_seen_subcommand_from sync" complete -c s3cmd -s P -l acl-public --description 'Store with ACL read for all' complete -c s3cmd -l acl-private --description 'Store with private ACL' complete -c s3cmd -l acl-grant --description 'Grant permission to named user' complete -c s3cmd -l acl-revoke --description 'Revoke permission to named user' complete -c s3cmd -s D -l restore-days --description 'Days to keep restored file' complete -c s3cmd -l restore-priority --description 'S3 glacier restore priority' -complete -c s3cmd -l delete-removed --description 'Delete objects not found locally' -n "__prev_tokens sync" +complete -c s3cmd -l delete-removed --description 'Delete objects not found locally' -n "__fish_seen_subcommand_from sync" complete -c s3cmd -l no-delete-removed --description 'Don\'t delete dest objects' -complete -c s3cmd -l delete-after --description 'Delete after upload' -n "__prev_tokens sync" -complete -c s3cmd -l max-delete --description 'Delete no more than NUM files' -n "__prev_tokens del sync" -complete -c s3cmd -l limit --description 'Max objects per response' -n "__prev_tokens ls la" +complete -c s3cmd -l delete-after --description 'Delete after upload' -n "__fish_seen_subcommand_from sync" +complete -c s3cmd -l max-delete --description 'Delete no more than NUM files' -n "__fish_seen_subcommand_from del sync" +complete -c s3cmd -l limit --description 'Max objects per response' -n "__fish_seen_subcommand_from ls la" complete -c s3cmd -l add-destination --description 'Additional parallel upload' -complete -c s3cmd -l delete-after-fetch --description 'Delete remotely after fetch' -n "__prev_tokens get sync" +complete -c s3cmd -l delete-after-fetch --description 'Delete remotely after fetch' -n "__fish_seen_subcommand_from get sync" complete -c s3cmd -s p -l preserve --description 'Preserve FS attributes' complete -c s3cmd -l no-preserve --description 'Don\'t store FS attributes' complete -c s3cmd -l exclude --description 'Exclude GLOB matches' @@ -120,11 +105,11 @@ complete -c s3cmd -l files-from --description 'Read source-file names from FILE' complete -c s3cmd -l region -l bucket-location --description 'Create bucket in region' complete -c s3cmd -l host --description 'S3 endpoint (default: s3.amazonaws.com)' complete -c s3cmd -l host-bucket --description 'DNS-style bucket+hostname:port template for bucket' -complete -c s3cmd -l reduced-redundancy -l rr --description 'Store with reduced redundancy' -n "__prev_tokens put cp mv" -complete -c s3cmd -l no-reduced-redundancy -l no-rr --description 'Store without reduced redundancy' -n "__prev_tokens put cp mv" +complete -c s3cmd -l reduced-redundancy -l rr --description 'Store with reduced redundancy' -n "__fish_seen_subcommand_from put cp mv" +complete -c s3cmd -l no-reduced-redundancy -l no-rr --description 'Store without reduced redundancy' -n "__fish_seen_subcommand_from put cp mv" complete -c s3cmd -l storage-class --description 'Store with STANDARD, STANDARD_IA, or REDUCED_REDUNDANCY' -complete -c s3cmd -l access-logging-target-prefix --description 'Prefix for access logs' -n "__prev_tokens cfmodify accesslog" -complete -c s3cmd -l no-access-logging --description 'Disable access logging' -n "__prev_tokens cfmodify accesslog" +complete -c s3cmd -l access-logging-target-prefix --description 'Prefix for access logs' -n "__fish_seen_subcommand_from cfmodify accesslog" +complete -c s3cmd -l no-access-logging --description 'Disable access logging' -n "__fish_seen_subcommand_from cfmodify accesslog" complete -c s3cmd -l default-mime-type --description 'Default MIME-type for objects' complete -c s3cmd -s M -l guess-mime-type --description 'Guess MIME-type' complete -c s3cmd -l no-guess-mime-type --description 'Don\'t guess MIME-type, use default' @@ -139,25 +124,25 @@ complete -c s3cmd -l add-encoding-exts --description 'Add encoding to CSV extens complete -c s3cmd -l verbatim --description 'Use S3 name as-is' complete -c s3cmd -l disable-multipart --description 'No multipart on files larger than --multipart-chunk-size-mb' complete -c s3cmd -l multipart-chunk-size-mb --description 'Multipart upload chunk size' -complete -c s3cmd -l list-md5 --description 'Include MD5 sums in bucket listings' -n "__prev_tokens ls" +complete -c s3cmd -l list-md5 --description 'Include MD5 sums in bucket listings' -n "__fish_seen_subcommand_from ls" complete -c s3cmd -s H -l human-readable-sizes --description 'Print sizes in human-readable form' -complete -c s3cmd -l ws-index --description 'Name of index-document' -n "__prev_tokens ws-create" -complete -c s3cmd -l ws-error --description 'Name of error-document' -n "__prev_tokens ws-create" -complete -c s3cmd -l expiry-date --description 'When expiration rule takes effect' -n "__prev_tokens expire" -complete -c s3cmd -l expiry-days --description 'Days to expire' -n "__prev_tokens expire" -complete -c s3cmd -l expiry-prefix --description 'Apply expiry to objects matching prefix' -n "__prev_tokens expire" +complete -c s3cmd -l ws-index --description 'Name of index-document' -n "__fish_seen_subcommand_from ws-create" +complete -c s3cmd -l ws-error --description 'Name of error-document' -n "__fish_seen_subcommand_from ws-create" +complete -c s3cmd -l expiry-date --description 'When expiration rule takes effect' -n "__fish_seen_subcommand_from expire" +complete -c s3cmd -l expiry-days --description 'Days to expire' -n "__fish_seen_subcommand_from expire" +complete -c s3cmd -l expiry-prefix --description 'Apply expiry to objects matching prefix' -n "__fish_seen_subcommand_from expire" complete -c s3cmd -l progress --description 'Show progress (default on TTY)' complete -c s3cmd -l no-progress --description 'Don\'t show progress meter (default if non-TTY)' complete -c s3cmd -l stats --description 'Show file transfer stats' -complete -c s3cmd -l enable --description 'Enable CloudFront distribution' -n "__prev_tokens cfmodify" -complete -c s3cmd -l disable --description 'Disable CloudFront distribution' -n "__prev_tokens cfmodify" -complete -c s3cmd -l cf-invalidate --description 'Invalidate CloudFront file' -n "__prev_tokens cfmodify" -complete -c s3cmd -l cf-invalidate-default-index --description 'Invalidate default index' -n "__prev_tokens cfmodify" -complete -c s3cmd -l cf-no-invalidate-default-index-root --description 'Don\'t invalidate default index' -n "__prev_tokens cfmodify" -complete -c s3cmd -l cf-add-cname --description 'Add CNAME to CloudFront distribution' -n "__prev_tokens cfcreate cfmodify" -complete -c s3cmd -l cf-remove-cname --description 'Remove CNAME from CloudFront distribution' -n "__prev_tokens cfmodify" -complete -c s3cmd -l cf-comment --description 'Set COMMENT for CloudFront distribution' -n "__prev_tokens cfcreate cfmodify" -complete -c s3cmd -l cf-default-root-object --description 'Set default root object' -n "__prev_tokens cfcreate cfmodify" +complete -c s3cmd -l enable --description 'Enable CloudFront distribution' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l disable --description 'Disable CloudFront distribution' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l cf-invalidate --description 'Invalidate CloudFront file' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l cf-invalidate-default-index --description 'Invalidate default index' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l cf-no-invalidate-default-index-root --description 'Don\'t invalidate default index' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l cf-add-cname --description 'Add CNAME to CloudFront distribution' -n "__fish_seen_subcommand_from cfcreate cfmodify" +complete -c s3cmd -l cf-remove-cname --description 'Remove CNAME from CloudFront distribution' -n "__fish_seen_subcommand_from cfmodify" +complete -c s3cmd -l cf-comment --description 'Set COMMENT for CloudFront distribution' -n "__fish_seen_subcommand_from cfcreate cfmodify" +complete -c s3cmd -l cf-default-root-object --description 'Set default root object' -n "__fish_seen_subcommand_from cfcreate cfmodify" complete -c s3cmd -s v -l verbose --description 'Verbose output' complete -c s3cmd -s d -l debug --description 'Debug output' complete -c s3cmd -l version --description 'Show version' @@ -172,7 +157,7 @@ complete -c s3cmd -l no-check-hostname --description 'Don\'t validate SSL hostna complete -c s3cmd -l signature-v2 --description 'Use AWS Signature version 2' complete -c s3cmd -l limit-rate --description 'Limit upload or download speed (bytes/sec)' complete -c s3cmd -l requester-pays --description 'Set REQUESTER PAYS for operations' -complete -c s3cmd -s l -l long-listing --description 'Produce long listing' -n "__prev_tokens ls" +complete -c s3cmd -s l -l long-listing --description 'Produce long listing' -n "__fish_seen_subcommand_from ls" complete -c s3cmd -l stop-on-error --description 'Stop on error in transfer' complete -c s3cmd -l content-disposition --description 'Provide Content-Disposition for signed URLs' complete -c s3cmd -l content-type --description 'Provide Content-Type for signed URLs' From 9a092ec015ce9f9d92cbf0a8b523fb21f4de6cf1 Mon Sep 17 00:00:00 2001 From: Phidica Veia Date: Tue, 31 Jan 2017 16:51:13 +1030 Subject: [PATCH 019/110] Add vertical bar escape `\|` to documentation Fixes #3794 (cherry picked from commit 84b59ae0be181a358ce64802f8e6da2561bbd7b5) --- doc_src/index.hdr.in | 1 + 1 file changed, 1 insertion(+) diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index 5c8be9a4d..976c3054c 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -106,6 +106,7 @@ Some characters can not be written directly on the command line. For these chara - '\\\>' escapes the more than character - '\\^' escapes the circumflex character - '\\&' escapes the ampersand character +- '\\|' escapes the vertical bar character - '\\;' escapes the semicolon character - '\\"' escapes the quote character - '\\'' escapes the apostrophe character From 240bb25dbe69f11a2229cfbbd43596a6aef57dc8 Mon Sep 17 00:00:00 2001 From: David Adam Date: Sat, 19 Aug 2017 22:38:12 +0800 Subject: [PATCH 020/110] Makefile: improve build reproducibilty by using LC_ALL=C in sort Based on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791648 (cherry picked from commit a311f49eda4488217023cd08ac5d099ecf6d58e8) --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 0ecb86acc..283e867e8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -397,7 +397,7 @@ test_interactive: $(call filter_up_to,test_interactive,$(active_test_goals)) doc_src/commands.hdr:$(HELP_SRC) doc_src/commands.hdr.in | @echo " CAT AWK $(em)$@$(sgr0)" $v rm -f command_list.tmp command_list_toc.tmp $@ - $v for i in $(sort $(HELP_SRC)); do \ + $v for i in `printf "%s\n" $(HELP_SRC) | LC_ALL=C.UTF-8 sort`; do \ echo "
" >>command_list.tmp; \ cat $$i >>command_list.tmp; \ echo >>command_list.tmp; \ From 27d7feaf95634d7c4a26209b445eeec34e60cc4f Mon Sep 17 00:00:00 2001 From: Radek SPRTA Date: Mon, 21 Aug 2017 22:30:10 +0200 Subject: [PATCH 021/110] Fix apt subcommand option completions --- CHANGELOG.md | 1 + share/completions/apt.fish | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1370c985..f7ad1a0d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - `read` failures due to too much data should define the var (#4180). - multiple `read` commands in non-interactive scripts were broken in fish 2.6.0 (#4206). - Fix regression involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` (#4196). +- Option completion for `apt list` now works properly (#4350). - Added completions for: - `as` (#4130). - `jest` (#4142). diff --git a/share/completions/apt.fish b/share/completions/apt.fish index 6139fe43d..6448694aa 100644 --- a/share/completions/apt.fish +++ b/share/completions/apt.fish @@ -19,10 +19,26 @@ function __fish_apt_use_package --description 'Test if apt command should have p end function __fish_apt_subcommand - set subcommand $argv[1]; set -e argv[1] + set subcommand $argv[1] + set -e argv[1] complete -f -c apt -n '__fish_apt_no_subcommand' -a $subcommand $argv end +function __fish_apt_using_subcommand --description 'Test if given subcommand is used' + for i in (commandline -opc) + if contains -- $i $argv + return 0 + end + end + return 1 +end + +function __fish_apt_option + set subcommand $argv[1] + set -e argv[1] + complete -f -c apt -n "__fish_apt_using_subcommand $subcommand" $argv +end + complete -c apt -n '__fish_apt_use_package' -a '(__fish_print_packages)' --description 'Package' # Support flags @@ -36,9 +52,9 @@ complete -f -c apt -s t --description 'Target release' # List __fish_apt_subcommand list --description 'List packages' -__fish_apt_subcommand list -l installed --description 'Installed packages' -__fish_apt_subcommand list -l upgradable --description 'Upgradable packages' -__fish_apt_subcommand list -l all-versions --description 'Show all versions of any package' +__fish_apt_option list -l installed --description 'Installed packages' +__fish_apt_option list -l upgradable --description 'Upgradable packages' +__fish_apt_option list -l all-versions --description 'Show all versions of any package' # Search __fish_apt_subcommand search -r --description 'Search for packages' From 2d08da79e91747a809ffd1c9edf9a92bfdb76780 Mon Sep 17 00:00:00 2001 From: David Adam Date: Sat, 26 Aug 2017 00:16:29 +0800 Subject: [PATCH 022/110] fish.spec: depend on system pcre2 libraries where available (cherry picked from commit 1872fb4ea917a8744e6c40526a6c8fd3becc2d27) --- fish.spec.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fish.spec.in b/fish.spec.in index 3a1cbf4e2..cddc8042f 100644 --- a/fish.spec.in +++ b/fish.spec.in @@ -15,6 +15,10 @@ BuildRequires: ncurses-devel gettext gcc-c++ autoconf BuildRequires: gcc48 gcc48-c++ %endif +%if 0%{?is_opensuse} || 0%{?fedora} +BuildRequires: pcre2-devel +%endif + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: bc From e67ab57ca3ec8a1833ed47146dddd628aa2d8f42 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 26 Aug 2017 19:11:39 -0500 Subject: [PATCH 023/110] Fix uninitialized sigaction.sa_flags valgrind error Valgrind warns that the sometimes uninitialized sigaction.sa_flags field is sometimes used when passed to the signal handler. This patch explicitly zeros out the sigaction.sa_flags field at creation time. --- src/signal.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/signal.cpp b/src/signal.cpp index 1b937825c..f195b7a54 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -270,6 +270,8 @@ void signal_reset_handlers() { static void set_interactive_handlers() { struct sigaction act, oact; + act.sa_flags = 0; + oact.sa_flags = 0; sigemptyset(&act.sa_mask); // Interactive mode. Ignore interactive signals. We are a shell, we know what is best for @@ -315,6 +317,7 @@ static void set_interactive_handlers() { static void set_non_interactive_handlers() { struct sigaction act; + act.sa_flags = 0; sigemptyset(&act.sa_mask); // Non-interactive. Ignore interrupt, check exit status of processes to determine result @@ -327,6 +330,7 @@ static void set_non_interactive_handlers() { /// Sets up appropriate signal handlers. void signal_set_handlers() { struct sigaction act; + act.sa_flags = 0; sigemptyset(&act.sa_mask); // Ignore SIGPIPE. We'll detect failed writes and deal with them appropriately. We don't want @@ -358,6 +362,7 @@ void signal_handle(int sig, int do_handle) { (sig == SIGTTOU) || (sig == SIGCHLD)) return; + act.sa_flags = 0; sigemptyset(&act.sa_mask); if (do_handle) { act.sa_flags = SA_SIGINFO; From e892c51b9c2e7c80715e1e7f633898b254ced611 Mon Sep 17 00:00:00 2001 From: David Adam Date: Mon, 28 Aug 2017 01:40:53 +0800 Subject: [PATCH 024/110] builtin_read: pickup MB_CUR_MAX from stdlib not xlocale Fixes building on OpenBSD; work on #4184. (cherry picked from commit 874a675e7f916e7145681d4df01431758a3de450) --- src/builtin_read.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builtin_read.cpp b/src/builtin_read.cpp index 895184d4c..6ba4c8a5a 100644 --- a/src/builtin_read.cpp +++ b/src/builtin_read.cpp @@ -4,10 +4,10 @@ #include #include #include +#include #include #include #include -#include #include #include From f3142a7d9116bd7f3300b4f787ff150c8b968367 Mon Sep 17 00:00:00 2001 From: David Adam Date: Fri, 1 Sep 2017 23:26:50 +0800 Subject: [PATCH 025/110] README.md: rearrange and rewrite Closes #2062 (cherry picked from commit 1183505695b0ee3d5c89143f481d3586e3baae23) --- README.md | 189 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 125 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index 4c36b4e35..35b11438c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ [fish](https://fishshell.com/) - the friendly interactive shell [![Build Status](https://travis-ci.org/fish-shell/fish-shell.svg?branch=master)](https://travis-ci.org/fish-shell/fish-shell) ================================================ -fish is a smart and user-friendly command line shell for OS X, Linux, and the rest of the family. fish includes features like syntax highlighting, autosuggest-as-you-type, and fancy tab completions that just work, with no configuration required. +fish is a smart and user-friendly command line shell for macOS, Linux, and the rest of the family. +fish includes features like syntax highlighting, autosuggest-as-you-type, and fancy tab completions +that just work, with no configuration required. For more on fish's design philosophy, see the [design document](https://fishshell.com/docs/current/design.html). @@ -11,77 +13,87 @@ fish generally works like other shells, like bash or zsh. A few important differ Detailed user documentation is available by running `help` within fish, and also at -## Building +## Getting fish + +### macOS + +fish can be installed: + +* using [Homebrew](http://brew.sh/): `brew install fish` +* using [MacPorts](https://www.macports.org/): `sudo port install fish` +* using the [installer from fishshell.com](https://fishshell.com/) +* as a [standalone app from fishshell.com](https://fishshell.com/) + +### Packages for Linux + +Packages for Debian, Fedora, openSUSE, and Red Hat Enterprise Linux/CentOS are available from the +[openSUSE Build +Service](https://software.opensuse.org/download.html?project=shells%3Afish%3Arelease%3A2&package=fish). + +Packages for Ubuntu are available from the [fish +PPA](https://launchpad.net/~fish-shell/+archive/ubuntu/release-2), and can be installed using the +following commands: + +``` +sudo apt-add-repository ppa:fish-shell/release-2 +sudo apt-get update +sudo apt-get install fish +``` + +Instructions for other distributions may be found at [fishshell.com](https://fishshell.com). + +### Windows + +fish can be installed using [Cygwin](https://cygwin.com/) Setup (under the **Shells** category). + +fish can be installed into Windows Services for Linux using the instructions under *Packages for +Linux* for the appropriate image (eg Ubuntu). + +### Building from source + +If packages are not available for your platform, GPG-signed tarballs are available from +[fishshell.com](https://fishshell.com/) and [fish-shell on +GitHub](https://github.com/fish-shell/fish-shell/releases). + +See the *Building* section for instructions. + +## Running fish + +Once installed, run `fish` from your current shell to try fish out! ### Dependencies -Compiling fish requires: +Running fish requires: -* a C++11 compiler. It builds successfully with g++ 4.8 or later, or with clang 3.3 or later. fish can be built using autotools or Xcode. autoconf 2.60 or later, as well as automake 1.13 or later, are required to build from git versions, but these are not required to build from the officially released tarballs. -* the headers and libraries of a curses implementation such as ncurses. -* gettext, for translation support. -* Doxygen 1.8.7 or newer, for building the documentation. - -At runtime, fish requires: - -* a curses implementation such as ncurses (which should provide the `tput` command). -* gettext, if you need the localizations. -* PCRE2, due to the regular expression support contained in the `string` builtin. A copy is included with the source code, and will be used automatically if it does not already exist on your system. +* a curses implementation such as ncurses (libraries and the `tput` command) +* PCRE2 library - a copy is included with fish +* gettext (library and `gettext` command), if compiled with translation support +* basic system utilities including `basename`, `cat`, `cut`, `date`, `dircolors`, `dirname`, `ls`, + `mkdir`, `mkfifo`, `mktemp`, `rm`, `seq`, `sort`, `stat`, `stty`, `tail`, `tr`, `tty`, `uname`, + `uniq`, `wc`, and `whoami` * a number of common UNIX utilities: - * an awk implementation, such as gawk, mawk, etc - * coreutils --- at least basename, cat, cut, date, dircolors, dirname, ls, mkdir, mkfifo, mktemp, rm, seq, sort, stat, stty, tail, tr, tty, uname, uniq, wc, whoami - * find - * grep - * hostname - * kill - * ps - * sed -* bc, the "basic calculator" program. + * `awk` + * `bc`, the "basic calculator" program + * `find` + * `grep` + * `hostname` + * `kill` + * `ps` + * `sed` -Optional functionality should degrade gracefully. (If fish ever threw a syntax error or a core dump due to missing dependencies for an optional feature, it would be a bug in fish and should be reported on our GitHub.) Optional features and dependencies include: +The following optional features also have specific requirements: -* dynamically generating usage tips for builtin functions, which requires man, apropos, nroff, and ul. -* manual page parsing for auto-completion for external commands, which also requires the above man tools, plus Python 2.6+ or Python 3.3+. Python 2 will also need the backports.lzma package; Python 3.3+ should include the required module by default. -* the web configuration tool, which requires Python 2.6+ or 3.3+. -* the fish_clipboard_* functions (bound to \cv and \cx), which require xsel or pbcopy/pbpaste. +* builtin commands that have the `--help` option or print usage messages require `nroff` and + `ul` (manual page formatters) to do so +* completion generation from manual pages requires Python 2.7, 3.3 or greater, and possibly the + `backports.lzma` module for Python 2.7 +* the `fish_config` Web configuration tool requires Python 2.7, 3.3 or greater, and a web browser +* system clipboard integration (with the default Ctrl-V and Ctrl-X bindings) require either the + `xsel` or `pbcopy`/`pbpaste` utilities +* prompts which support showing VCS information (Git, Mercurial or Subversion) require these + utilities -fish can also show VCS information in the prompt, when the current working directory is in a VCS-tracked project, with support for Git, Mercurial, and Subversion. This is one of the weakest dependencies, though: if you don't use git, for example, you don't need git information in the prompt, and if you do use git, you already have it. Similarly, fish comes with a variety of auto-completion scripts to help with command-line usage of a variety of applications; these scripts call the application in question, but you should only need these applications if you use them. - -### Autotools Build - - autoreconf --no-recursive [if building from Git] - ./configure - make [gmake on BSD] - sudo make install [sudo gmake install on BSD] - -### Xcode Development Build - -* Build the `base` target in Xcode -* Run the fish executable, for example, in `DerivedData/fish/Build/Products/Debug/base/bin/fish` - -### Xcode Build and Install - - xcodebuild install - sudo ditto /tmp/fish.dst / - sudo make install-doc - -## Help, it didn't build! - -If fish reports that it could not find curses, try installing a curses development package and build again. - -On Debian or Ubuntu you want: - - sudo apt-get install build-essential ncurses-dev libncurses5-dev gettext autoconf - -On RedHat, CentOS, or Amazon EC2: - - sudo yum install ncurses-devel - -## Packages for Linux - -Instructions on how to find builds for several Linux distros are at - -## Switching to fish +### Switching to fish If you wish to use fish as your default shell, use the following command: @@ -101,6 +113,55 @@ Substitute /bin/bash with /bin/tcsh or /bin/zsh as appropriate. You may need to logout/login for the change (chsh) to take effect. +## Building + +### Dependencies + +Compiling fish requires: + +* a C++11 compiler (g++ 4.8 or later, or clang 3.3 or later) +* either GNU Make (all platforms) or Xcode (macOS only) +* a curses implementation such as ncurses (headers and libraries) +* PCRE2 (headers and libraries) - a copy is included with fish +* gettext (headers and libraries) - optional, for translation support + +Compiling from git (that is, not a released tarball) also requires: + +* either Xcode (macOS only) or the following Autotools utilities (all platforms): + * autoconf 2.60 or later + * automake 1.13 or later +* Doxygen (1.8.7 or later) - optional, for documentation + +### Autotools Build + + autoreconf --no-recursive [if building from Git] + ./configure + make [gmake on BSD] + sudo make install [sudo gmake install on BSD] + +### Xcode Development Build + +* Build the `base` target in Xcode +* Run the fish executable, for example, in `DerivedData/fish/Build/Products/Debug/base/bin/fish` + +### Xcode Build and Install + + xcodebuild install + sudo ditto /tmp/fish.dst / + sudo make install-doc + +### Help, it didn't build! + +If fish reports that it could not find curses, try installing a curses development package and build again. + +On Debian or Ubuntu you want: + + sudo apt-get install build-essential ncurses-dev libncurses5-dev gettext autoconf + +On RedHat, CentOS, or Amazon EC2: + + sudo yum install ncurses-devel + ## Contributing Changes to the Code See the [Guide for Developers](CONTRIBUTING.md). From 737da73dd6eca73a8b59ac73fc2b3a598c36058d Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 24 Aug 2017 22:54:53 +0800 Subject: [PATCH 026/110] CONTRIBUTING.md: add note about dependencies (cherry picked from commit 6cff72b226bfd37fb03d01faf444f411a65b0f21) --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2dfb0cc13..d39bf9da6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,6 +6,9 @@ See the bottom of this document for help on installing the linting and style ref Fish source should limit the C++ features it uses to those available in C++11. It should not use exceptions. +Before introducing a new dependency, please make it optional with graceful failure if possible. Add +any new dependencies to the README.md under the *Running* and/or *Building* sections. + ## Versioning The fish version is constructed by the *build_tools/git_version_gen.sh* script. For developers the version is the branch name plus the output of `git describe --always --dirty`. Normally the main part of the version will be the closest annotated tag. Which itself is usually the most recent release number (e.g., `2.6.0`). From d2c0cafeb73809ae6503943012540efd134cef1c Mon Sep 17 00:00:00 2001 From: Alexey Alekhin Date: Tue, 29 Aug 2017 23:55:55 -0700 Subject: [PATCH 027/110] Added sbt completions (cherry picked from commit a43da0163a2e5b2e29a799382d4824996c80ebe5) --- share/completions/sbt.fish | 74 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 share/completions/sbt.fish diff --git a/share/completions/sbt.fish b/share/completions/sbt.fish new file mode 100644 index 000000000..5332cfbd0 --- /dev/null +++ b/share/completions/sbt.fish @@ -0,0 +1,74 @@ +############ +# COMMANDS # +############ + +# 1. In general it's not recommended to run commands one by one, because sbt startup is quite slow +# 2. Only commands without arguments are completed, because any commands with args have to be quoted: `sbt "show key"` +# 3. Only those commands are completed that could be useful to run as one off, like `sbt new ...`, the rest should be run in an interactive sbt shell +# 4. Tasks is somewhat dynamic and depends on the project definition, so only most common are offered +# 5. Same about settings (none are offered) + +# These commands can be combined in any order +complete -c sbt -f -a '(string split "\n" " + about Display basic information about sbt and the build + clean Delete files produced by the build + compile Compile sources + console Scala REPL: project classes + consoleQuick Scala REPL: only project dependencies + doc Generate API documentation + help Display help message + package Produce the main artifact + plugins List currently available plugins + projects List the names of available projects + publish Publish artifacts to a repository + publishLocal Publish artifacts to the local Ivy repository + publishM2 Publish artifacts to the local Maven repository + run Run a main class + settings List the settings defined for the current project + shell Launch an interactive sbt prompt + tasks List the tasks defined for the current project + test Execute all tests +" | string trim | string replace -r "\s+" "\t")' \ + -n 'not contains -- "new" (commandline -cpo); + and not contains -- "client" (commandline -cpo)' + +# These cannot be combined with any other commands and require an argument +complete -c sbt -f -n '[ (count (commandline -cpo)) = 1 ]' -a 'new' -d 'Create a new sbt project from the given template' +complete -c sbt -f -n '[ (count (commandline -cpo)) = 1 ]' -a 'client' -d 'Connect to a server with an interactive sbt prompt' + + +########### +# OPTIONS # +########### + +# This is based on the output of `sbt -help`: + +# general options without arguments +complete -c sbt -o help -s h -f -d "Print options help message" +complete -c sbt -o verbose -s v -f -d "Print more details" +complete -c sbt -o debug -s d -f -d "Set log level to debug" +complete -c sbt -o no-colors -f -d "Disable ANSI color codes" +complete -c sbt -o sbt-create -f -d "Launch even if there's no sbt project" +complete -c sbt -o no-share -f -d "Use all local caches" +complete -c sbt -o no-global -f -d "Use global caches, but not global ~/.sbt directory" +complete -c sbt -o batch -f -d "Disable interactive mode" + +# general options with arguments +complete -c sbt -o sbt-dir -d "Specify path to global settings/plugins" -r # path +complete -c sbt -o sbt-boot -d "Specify path to shared boot directory" -r # path +complete -c sbt -o ivy -d "Specify path to local Ivy repository" -r # path +complete -c sbt -o mem -d "Set memory options" -x # integer? (default: -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:MaxPermSize=256m) +complete -c sbt -o port -d "Turn on JVM debugging, open at the given port" -r # port + +# sbt version +complete -c sbt -o sbt-version -d "Use specified version of sbt" -x -a '0.13.(seq 0 6)\t"" 1.0.0\t""' +complete -c sbt -o sbt-jar -d "Use specified jar as the sbt launcher" -r # jar path +complete -c sbt -o sbt-rc -d "Use an RC version of sbt" -f +complete -c sbt -o sbt-snapshot -d "Use a snapshot version of sbt" -f + +# java-related +complete -c sbt -o java-home -d "Alternate JAVA_HOME" -r # path +complete -c sbt -o D -d "Pass -D option directly to the Java runtime" -x # -Dkey=val +complete -c sbt -o J-X -d "Pass -X option directly to the Java runtime" -x # -X* +complete -c sbt -o S-X -d "Pass -X option to sbt's scalacOptions" -x # -X* +# TODO: list available -X options if it's possible to do in an automatic way From 3905c3355bcdcaca5c8ca1620ef334ef873d5831 Mon Sep 17 00:00:00 2001 From: "modula t. worm" Date: Tue, 29 Aug 2017 22:28:43 -0500 Subject: [PATCH 028/110] Add completions for kdeconnect-cli (KDE Connect) (cherry picked from commit fa3ca4dc3d8669eea874cfae0c5613bc5c944fd9) --- share/completions/kdeconnect-cli.fish | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 share/completions/kdeconnect-cli.fish diff --git a/share/completions/kdeconnect-cli.fish b/share/completions/kdeconnect-cli.fish new file mode 100644 index 000000000..b77452d6a --- /dev/null +++ b/share/completions/kdeconnect-cli.fish @@ -0,0 +1,24 @@ +complete -c 'kdeconnect-cli' -s l -l list-devices -d "List all devices" +complete -c 'kdeconnect-cli' -s a -l list-available -d "List available (paired and reachable) devices" +complete -c 'kdeconnect-cli' -l id-only -d "Make --list-devices or --list-available print the devices id, to ease scripting" +complete -c 'kdeconnect-cli' -l refresh -d "Search for devices in the network and re-establish connections" +complete -c 'kdeconnect-cli' -l pair -d "Request pairing to a said device" +complete -c 'kdeconnect-cli' -l ring -d "Find the said device by ringing it." +complete -c 'kdeconnect-cli' -l unpair -d "Stop pairing to a said device" +complete -c 'kdeconnect-cli' -l ping -d "Sends a ping to said device" +complete -c 'kdeconnect-cli' -l ping-msg -f -r -d "Same as ping but you can set the message to display" # message +complete -c 'kdeconnect-cli' -l share -r -d "Share a file to a said device" # path +complete -c 'kdeconnect-cli' -l list-notifications -d "Display the notifications on a said device" +complete -c 'kdeconnect-cli' -l lock -d "Lock the specified device" +complete -c 'kdeconnect-cli' -l send-sms -f -r -d "Sends an SMS. Requires destination" # message +complete -c 'kdeconnect-cli' -l destination -f -r -d "Phone number to send the message" # phone number +complete -c 'kdeconnect-cli' -s d -l device -f -r -a '(kdeconnect-cli -l --id-only)' -d "Device ID" # dev +complete -c 'kdeconnect-cli' -s n -l name -f -r -d "Device Name" # name +complete -c 'kdeconnect-cli' -l encryption-info -d "Get encryption info about said device" +complete -c 'kdeconnect-cli' -l list-commands -d "Lists remote commands and their ids" +complete -c 'kdeconnect-cli' -l execute-command -f -r -d "Executes a remote command by id" # id +complete -c 'kdeconnect-cli' -s h -l help -d "Displays this help." +complete -c 'kdeconnect-cli' -s v -l version -d "Displays version information." +complete -c 'kdeconnect-cli' -l author -d "Show author information." +complete -c 'kdeconnect-cli' -l license -d "Show license information." +complete -c 'kdeconnect-cli' -l desktopfile -r -d "The base file name of the desktop entry for this application." # file name From 6368bebf12a73012dc1fddc14063cfdf422ea0a0 Mon Sep 17 00:00:00 2001 From: Alexey Alekhin Date: Mon, 21 Aug 2017 16:42:29 +0200 Subject: [PATCH 029/110] Added sbt to the list of new completions Also fixed sublist indentation and removed periods for formtatting consistency (cherry picked from commit 75dd852340cb228eb8a548702c124845fdbc8fd2) --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7ad1a0d1..8a611f63b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ - Added completions for: - `as` (#4130). - `jest` (#4142). + - `sbt` (#4347) - `subl` (Sublime Text 3 editor, #4277) - `snap` (#4215) - Improved completions for: From 7d46c780820d1346344121d8f7f7b5528c9ea680 Mon Sep 17 00:00:00 2001 From: Benjamin Reitzammer Date: Thu, 31 Aug 2017 04:59:49 +0200 Subject: [PATCH 030/110] add --force-with-lease completion for git push (#4368) (cherry picked from commit 72244dee5b74ea167cd09ab6701b8d4c3588debe) --- share/completions/git.fish | 1 + 1 file changed, 1 insertion(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index d8e9df6d7..b84ba97d6 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -746,6 +746,7 @@ complete -f -c git -n '__fish_git_using_command push' -l tags -d 'Push all refs complete -f -c git -n '__fish_git_using_command push' -s n -l dry-run -d 'Do everything except actually send the updates' complete -f -c git -n '__fish_git_using_command push' -l porcelain -d 'Produce machine-readable output' complete -f -c git -n '__fish_git_using_command push' -s f -l force -d 'Force update of remote refs' +complete -f -c git -n '__fish_git_using_command push' -s f -l force-with-lease -d 'Force update of remote refs, stopping if other\'s changes would be overwritten' complete -f -c git -n '__fish_git_using_command push' -s u -l set-upstream -d 'Add upstream (tracking) reference' complete -f -c git -n '__fish_git_using_command push' -s q -l quiet -d 'Be quiet' complete -f -c git -n '__fish_git_using_command push' -s v -l verbose -d 'Be verbose' From 908063d830e0c53344d33199230e55a08d1ba901 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 5 Sep 2017 16:55:06 +0200 Subject: [PATCH 031/110] pacman-ish completions: Complete files for `-Qo` and `-Qp` These were explicitly suppressed, which was wrong. --- share/completions/aura.fish | 4 ++-- share/completions/pacman.fish | 4 ++-- share/completions/yaourt.fish | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/share/completions/aura.fish b/share/completions/aura.fish index fdcb0d160..c06a4581a 100644 --- a/share/completions/aura.fish +++ b/share/completions/aura.fish @@ -145,8 +145,8 @@ complete -c aura -n $query -s e -l explicit -d 'List only explicitly installed p complete -c aura -n $query -s k -l check -d 'Check if all files owned by PACKAGE are present' complete -c aura -n $query -s l -l list -d 'List all files owned by PACKAGE' complete -c aura -n $query -s m -l foreign -d 'List all packages not in the database' -complete -c aura -n $query -s o -l owns -r -d 'Search for the package that owns FILE' -xa '' -complete -c aura -n $query -s p -l file -d 'Apply the query to a package file, not package' -xa '' +complete -c aura -n $query -s o -l owns -r -d 'Search for the package that owns FILE' +complete -c aura -n $query -s p -l file -d 'Apply the query to a package file, not package' complete -c aura -n $query -s t -l unrequired -d 'List only unrequired packages' complete -c aura -n $query -s u -l upgrades -d 'List only out-of-date packages' complete -c aura -n "$query; and $argument" -xa $listinstalled -d 'Installed package' diff --git a/share/completions/pacman.fish b/share/completions/pacman.fish index d01367f79..5c659c7a2 100644 --- a/share/completions/pacman.fish +++ b/share/completions/pacman.fish @@ -88,8 +88,8 @@ complete -c $progname -n $query -s e -l explicit -d 'List only explicitly instal complete -c $progname -n $query -s k -l check -d 'Check if all files owned by PACKAGE are present' -f complete -c $progname -n $query -s l -l list -d 'List all files owned by PACKAGE' -f complete -c $progname -n $query -s m -l foreign -d 'List all packages not in the database' -f -complete -c $progname -n $query -s o -l owns -r -d 'Search for the package that owns FILE' -xa '' -f -complete -c $progname -n $query -s p -l file -d 'Apply the query to a package file, not package' -xa '' -f +complete -c $progname -n $query -s o -l owns -r -d 'Search for the package that owns FILE' +complete -c $progname -n $query -s p -l file -d 'Apply the query to a package file, not package' complete -c $progname -n $query -s t -l unrequired -d 'List only unrequired packages' -f complete -c $progname -n $query -s u -l upgrades -d 'List only out-of-date packages' -f complete -c $progname -n "$query" -d 'Installed package' -xa $listinstalled -f diff --git a/share/completions/yaourt.fish b/share/completions/yaourt.fish index 91a2401cd..141623c9b 100644 --- a/share/completions/yaourt.fish +++ b/share/completions/yaourt.fish @@ -114,8 +114,8 @@ complete -c $progname -n $query -s e -l explicit -d 'List only explicitly instal complete -c $progname -n $query -s k -l check -d 'Check if all files owned by PACKAGE are present' -f complete -c $progname -n $query -s l -l list -d 'List all files owned by PACKAGE' -f complete -c $progname -n $query -s m -l foreign -d 'List all packages not in the database' -f -complete -c $progname -n $query -s o -l owns -r -d 'Search for the package that owns FILE' -xa '' -f -complete -c $progname -n $query -s p -l file -d 'Apply the query to a package file, not package' -xa '' -f +complete -c $progname -n $query -s o -l owns -r -d 'Search for the package that owns FILE' +complete -c $progname -n $query -s p -l file -d 'Apply the query to a package file, not package' complete -c $progname -n $query -s t -l unrequired -d 'List only unrequired packages' -f complete -c $progname -n $query -s u -l upgrades -d 'List only out-of-date packages' -f complete -c $progname -n "$query" -d 'Installed package' -xa $listinstalled -f From 8eca1b0f13b2126bfc04ae43b3e2722639212967 Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Wed, 6 Sep 2017 02:53:49 -0500 Subject: [PATCH 032/110] Add repo completion for zypper (#4325) * Add repo completion for zypper * Replace sed with string in __fish_print_zypp_repos * Move function into completion script * Update zypper completion add subcommand packages to __fish_zypper_repo_commands (cherry picked from commit 81becc5f6b81a5483478b140d99f4aac0d0923a0) --- share/completions/zypper.fish | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/share/completions/zypper.fish b/share/completions/zypper.fish index 813ac6554..875c16039 100644 --- a/share/completions/zypper.fish +++ b/share/completions/zypper.fish @@ -1,7 +1,8 @@ # completion for zypper -set -g __fish_zypper_all_commands shell sh repos lr addrepo ar removerepo rr renamerepo nr modifyrepo mr refresh ref clean services ls addservice as modifyservice ms removeservice rs refresh-services refs install in remove rm verify ve source-install si install-new-recommends inr update up list-updates lu patch list-patches lp dist-upgrade dup patch-check pchk search se info if patch-info pattern-info product-info patches pch packages pa patterns pt products pd what-provides wp addlock al removelock rl locks ll cleanlocks cl versioncmp vcmp targetos tos licenses source-download +set -g __fish_zypper_all_commands shell sh repos lr addrepo ar removerepo rr renamerepo nr modifyrepo mr refresh ref clean cc services ls addservice as modifyservice ms removeservice rs refresh-services refs install in remove rm verify ve source-install si install-new-recommends inr update up list-updates lu patch list-patches lp dist-upgrade dup patch-check pchk search se info if patch-info pattern-info product-info patches pch packages pa patterns pt products pd what-provides wp addlock al removelock rl locks ll cleanlocks cl versioncmp vcmp targetos tos licenses source-download set -g __fish_zypper_pkg_commands in install rm remove info if addlock al removelock rl source-install si +set -g __fish_zypper_repo_commands repos lr addrepo ar removerepo rr renamerepo nr modifyrepo mr refresh ref clean cc packages pa function __fish_zypper_cmd_in_array for i in (commandline -pco) @@ -23,7 +24,18 @@ function __fish_zypper_use_pkg __fish_zypper_cmd_in_array $__fish_zypper_pkg_commands end +function __fish_zypper_use_repo + __fish_zypper_cmd_in_array $__fish_zypper_repo_commands +end + +function __fish_zypper_print_repos + for repofile in /etc/zypp/repos.d/*.repo + string replace -f -r '\[(.+)\]' '$1' < $repofile + end +end + complete -n '__fish_zypper_use_pkg' -c zypper -a '(__fish_print_packages)' --description 'Package' +complete -f -n '__fish_zypper_use_repo' -c zypper -a '(__fish_zypper_print_repos)' --description 'Repo' complete -n '__fish_zypper_no_subcommand' -c zypper -a 'install in' --description 'Install packages' @@ -35,7 +47,7 @@ complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'removerepo rr' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'renamerepo nr' --description 'Rename specified repository' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'modifyrepo mr' --description 'Modify specified repository' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'refresh ref' --description 'Refresh all repositories' -complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'clean' --description 'Clean local caches' +complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'clean cc' --description 'Clean local caches' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'services ls' --description 'List all defined services' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'addservice as' --description 'Add a new service' complete -f -n '__fish_zypper_no_subcommand' -c zypper -a 'modifyservice ms' --description 'Modify specified service' From 7669c14274578eaa5236a0767edf8fa4fd492f3f Mon Sep 17 00:00:00 2001 From: Marcel Bischoff Date: Sun, 13 Aug 2017 03:23:36 +0200 Subject: [PATCH 033/110] Add basic ezjail-admin completion (cherry picked from commit c0c33b3605f1c9084b30ba212ab3d4bdc4473ab3) --- share/completions/ezjail-admin.fish | 65 +++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 share/completions/ezjail-admin.fish diff --git a/share/completions/ezjail-admin.fish b/share/completions/ezjail-admin.fish new file mode 100644 index 000000000..128a2d7e4 --- /dev/null +++ b/share/completions/ezjail-admin.fish @@ -0,0 +1,65 @@ +function __fish_complete_jails + ezjail-admin list | tail +3 | awk '{ print $4 }' +end + +function __fish_complete_running_jails + ezjail-admin list | tail +3 | grep '^.R' | awk '{ print $4 }' +end + +function __fish_complete_stopped_jails + ezjail-admin list | tail +3 | grep '^.S' | awk '{ print $4 }' +end + +# archive +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a archive --description "create a backup of one or several jails" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from archive" -a "(__fish_complete_jails)" --description "jail" + +# config +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a config --description "manage specific jails" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from config" -a "(__fish_complete_jails)" --description "jail" + +# console +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a console --description "attach your console to a running jail" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from console" -a "(__fish_complete_jails)" --description "jail" + +# create +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a create --description "installs a new jail inside ezjail's scope" + +# delete +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a delete --description "removes a jail from ezjail's config" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from delete" -a "(__fish_complete_jails)" --description "jail" + +# freeze +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a freeze --description "dump diffs between jail initialisation and freeze time into a flavour" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from freeze" -a "(__fish_complete_jails)" --description "jail" + +# install +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a install --description "create the basejail from binary packages" + +# list +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a list --description "list all jails" + +# restart +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a restart --description "restart a running jail" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from restart" -a "(__fish_complete_running_jails)" --description "jail" + +# restore +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a restore --description "create new jails from archived versions" + +# snapshot +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a snapshot --description "create a snapshot of a jail" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from snapshot" -a "(__fish_complete_jails)" --description "jail" + +# start +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a start --description "start a jail" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from start" -a "(__fish_complete_stopped_jails)" --description "jail" + +# stop +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a stop --description "stop a running jail" +complete -xc "ezjail-admin" -n "__fish_seen_subcommand_from stop" -a "(__fish_complete_running_jails)" --description "jail" + +# troubleshoot +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a troubleshoot --description "check for reasons for the jails to fail" + +# update +complete -xc "ezjail-admin" -n "__fish_use_subcommand" -a update --description "create or update the basejail from source" From 2137e197fce8c5b261aa6dc6560ff6f26e6725e0 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Mon, 14 Aug 2017 15:48:31 +0200 Subject: [PATCH 034/110] git completions: Use modified files in the index for `reset` Fixes #4329. (cherry picked from commit c2f0a45d60f3bba60b9942c1dd0f45f19173f4d2) --- share/completions/git.fish | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index b84ba97d6..4bb54d129 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -63,7 +63,7 @@ function __fish_git_modified_files set -l root (command git rev-parse --show-toplevel ^/dev/null) # Print files from the current $PWD as-is, prepend all others with ":/" (relative to toplevel in git-speak) # This is a bit simplistic but finding the lowest common directory and then replacing everything else in $PWD with ".." is a bit annoying - string replace -- "$PWD/" "" "$root/"(command git diff --name-only ^/dev/null) | string replace "$root/" ":/" + string replace -- "$PWD/" "" "$root/"(command git diff --name-only $argv ^/dev/null) | string replace "$root/" ":/" end function __fish_git_staged_files @@ -783,6 +783,8 @@ complete -c git -n '__fish_git_needs_command' -a reset -d 'Reset current HEAD to complete -f -c git -n '__fish_git_using_command reset' -l hard -d 'Reset files in working directory' complete -c git -n '__fish_git_using_command reset' -a '(__fish_git_branches)' -d 'Branch' complete -f -c git -n '__fish_git_using_command reset' -a '(__fish_git_staged_files)' -d 'File' +# reset changes the index, so we need to compare that to the commit. +complete -f -c git -n '__fish_git_using_command reset' -a '(__fish_git_modified_files --cached)' -d 'File' complete -f -c git -n '__fish_git_using_command reset' -a '(__fish_git_reflog)' -d 'Reflog' # TODO options From a4c03e3d7b7c6b50616ed4b62875b529dbcfb411 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 5 Sep 2017 16:27:16 +0200 Subject: [PATCH 035/110] ssh completions: Don't call __fish_print_hostnames twice Saves about 40% of the time in this completion. --- share/completions/ssh.fish | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/share/completions/ssh.fish b/share/completions/ssh.fish index f9f4dc328..65c6c164c 100644 --- a/share/completions/ssh.fish +++ b/share/completions/ssh.fish @@ -7,11 +7,10 @@ __fish_complete_ssh ssh # ssh specific completions # complete -x -c ssh -d Hostname -a " -(__fish_print_hostnames) - -( - # Prepend any username specified in the completion to the hostname - echo (commandline -ct)|sed -ne 's/\(.*@\).*/\1/p' +# First print an empty line to get just the hostname +(echo; +# Then prepend any username specified in the completion to the hostname +commandline -ct | string replace -rf '(.*@).*' '$1' )(__fish_print_hostnames) " From 4437e8d8d6e45debb82bafaee89d64ac16b2d6c3 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 5 Sep 2017 16:29:57 +0200 Subject: [PATCH 036/110] __fish_print_hostnames: Use `string replace -f` Saves one `string match` invocation. Also removes a useless-use-of-cat. --- share/functions/__fish_print_hostnames.fish | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish index efa3cac4f..9d1895515 100644 --- a/share/functions/__fish_print_hostnames.fish +++ b/share/functions/__fish_print_hostnames.fish @@ -53,13 +53,13 @@ function __fish_print_hostnames -d "Print a list of known hostnames" set -l orig_dir $PWD set -l paths for config in $argv - set paths $paths (cat $config ^/dev/null \ - # Keep only Include lines - | string match -r -i '^\s*Include\s+.+' \ - # Remove Include syntax - | string replace -r -i '^\s*Include\s+' '' \ - # Normalize whitespace - | string trim | string replace -r -a '\s+' ' ') + if test -r "$config" + set paths $paths ( + # Keep only Include lines and remove Include syntax + string replace -rfi '^\s*Include\s+' '' <$config \ + # Normalize whitespace + | string trim | string replace -r -a '\s+' ' ') + end end builtin cd $relative_path @@ -89,9 +89,9 @@ function __fish_print_hostnames -d "Print a list of known hostnames" for file in $ssh_configs if test -r $file # Print hosts from system wide ssh configuration file - string match -r -i '^\s*Host\s+\S+' <$file | string replace -r -i '^\s*Host\s+' '' | string trim | string replace -r '\s+' ' ' | string split ' ' | string match -v '*\**' + string replace -rfi '^\s*Host\s+' '' <$file | string trim | string replace -r '\s+' ' ' | string split ' ' | string match -v '*\**' # Extract known_host paths. - set known_hosts $known_hosts (string match -ri '^\s*UserKnownHostsFile|^\s*GlobalKnownHostsFile' <$file | string replace -ri '.*KnownHostsFile\s*' '') + set known_hosts $known_hosts (string replace -rfi '.*KnownHostsFile\s*' '' <$file) end end for file in $known_hosts From 57753c730388785d8c535aeac269d4cf2b217b53 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 5 Sep 2017 16:30:24 +0200 Subject: [PATCH 037/110] __fish_print_hostnames: Use `source` instead of `eval` Since this doesn't need stdin, we can skip eval's overhead. --- share/functions/__fish_print_hostnames.fish | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish index 9d1895515..da840dbb4 100644 --- a/share/functions/__fish_print_hostnames.fish +++ b/share/functions/__fish_print_hostnames.fish @@ -32,7 +32,7 @@ function __fish_print_hostnames -d "Print a list of known hostnames" if contains -- '-F' $token set ssh_config_path_is_next 0 else if test $ssh_config_path_is_next -eq 0 - set ssh_config (eval "echo $token") + set ssh_config (echo "echo $token" | source) set ssh_config_path_is_next 1 end end @@ -66,7 +66,7 @@ function __fish_print_hostnames -d "Print a list of known hostnames" set -l new_paths for path in $paths set -l expanded_path - eval "set expanded_path (printf \"%s\n\" $path)" + echo "set expanded_path (printf \"%s\n\" $path)" | source for path in $expanded_path # Resolve "relative" paths in accordance to ssh path resolution if string match -qv '/*' $path From 32e65ed3010169396cff612efcbdf36883db2477 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 5 Sep 2017 16:31:12 +0200 Subject: [PATCH 038/110] __fish_print_hostnames: Improve ssh known_hosts extraction This now includes hosts with custom ports (and other hosts with the same key), and explicitly excludes negated hosts, those with a wildcard and those with an `@`-marker (e.g. `@revoked`) It's also possibly a bit quicker because the ordering is better, especially for files with many comments. --- share/functions/__fish_print_hostnames.fish | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish index da840dbb4..c3f392a3b 100644 --- a/share/functions/__fish_print_hostnames.fish +++ b/share/functions/__fish_print_hostnames.fish @@ -95,9 +95,16 @@ function __fish_print_hostnames -d "Print a list of known hostnames" end end for file in $known_hosts - # Ignore hosts that are hashed, commented or have custom ports (like [localhost]:2200) - test -r $file - and string replace -ra '(\S+) .*' '$1' <$file | string match -r '^[^#|[=]+$' | string split "," + if test -r $file + # Ignore hosts that are hashed, commented or @-marked and strip the key. + string replace -r '[#@| ].*' '' <$file \ + # Split on ",". + # Ignore negated/wildcarded hosts. + | string split "," | string match -rv '[!\*\?]' \ + # Extract hosts with custom port. + | string replace -r '\[([^]]+)\]:.*' '$1' + # string replace -ra '(\S+) .*' '$1' <$file | string match -r '^[^#|[=]+$' | string split "," + end end return 0 end From bcdc6bb46b66a5b51cc0607086feab0dc996b5f8 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Fri, 8 Sep 2017 16:26:43 +0200 Subject: [PATCH 039/110] Clarify string match without -r partial match Fixes #4388. --- doc_src/string.txt | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/doc_src/string.txt b/doc_src/string.txt index d4f91a874..f1bd24a5c 100644 --- a/doc_src/string.txt +++ b/doc_src/string.txt @@ -59,15 +59,15 @@ The third is `--style=url` which ensures the string can be used as a URL by hex \subsection string-match "match" subcommand -`string match` tests each STRING against PATTERN and prints matching substrings. Only the first match for each STRING is reported unless `-a` or `--all` is given, in which case all matches are reported.The default behavior is equivalent to `grep -o`. +`string match` tests each STRING against PATTERN and prints matching substrings. Only the first match for each STRING is reported unless `-a` or `--all` is given, in which case all matches are reported. -If you specify the `-e` or `--entire` then each matching string is printed including any prefix or suffix not matched by the pattern (equivalent to `grep` without the `-o` flag). You can, obviously, achieve the same result by prepending and appending `*` or `.*` depending on whether or not you have specified the `--regex` flag. The `--entire` flag is simply a way to avoid having to complicate the pattern in that fashion and make the intent of the `string match` clearer. +If you specify the `-e` or `--entire` then each matching string is printed including any prefix or suffix not matched by the pattern (equivalent to `grep` without the `-o` flag). You can, obviously, achieve the same result by prepending and appending `*` or `.*` depending on whether or not you have specified the `--regex` flag. The `--entire` flag is simply a way to avoid having to complicate the pattern in that fashion and make the intent of the `string match` clearer. Without `--entire` and `--regex`, a PATTERN will need to match the entire STRING before it will be reported. Matching can be made case-insensitive with `--ignore-case` or `-i`. If `--index` or `-n` is given, each match is reported as a 1-based start position and a length. By default, PATTERN is interpreted as a glob pattern matched against each entire STRING argument. A glob pattern is only considered a valid match if it matches the entire STRING. -If `--regex` or `-r` is given, PATTERN is interpreted as a Perl-compatible regular expression, which does not have to match the entire STRING. For a regular expression containing capturing groups, multiple items will be reported for each match, one for the entire match and one for each capturing group. +If `--regex` or `-r` is given, PATTERN is interpreted as a Perl-compatible regular expression, which does not have to match the entire STRING. For a regular expression containing capturing groups, multiple items will be reported for each match, one for the entire match and one for each capturing group. With this, only the matching part of the STRING will be reported, unless `--entire` is given. If `--invert` or `-v` is used the selected lines will be only those which do not match the given glob pattern or regular expression. @@ -184,7 +184,23 @@ In general, special characters are special by default, so `a+` matches one or mo Axxb >_ echo 'ok?' | string match '*\\?' ->_ ok? +ok? + +# Note that only the second STRING will match here. +>_ string match 'foo' 'foo1' 'foo' 'foo2' +foo + +>_ string match -e 'foo' 'foo1' 'foo' 'foo2' +foo1 +foo +foo2 + + +>_ string match 'foo?' 'foo1' 'foo' 'foo2' +foo1 +foo +foo2 + \endfish \subsection string-example-match-regex Match Regex Examples From c5b7cc070ef6219e68683505ee25195b8bcb37fd Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Fri, 8 Sep 2017 16:27:52 +0200 Subject: [PATCH 040/110] Fix string match -en error typo Fixes #4386. --- src/builtin_string.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builtin_string.cpp b/src/builtin_string.cpp index e04c78923..62ed46aef 100644 --- a/src/builtin_string.cpp +++ b/src/builtin_string.cpp @@ -899,7 +899,7 @@ static int string_match(parser_t &parser, io_streams_t &streams, int argc, wchar if (opts.entire && opts.index) { streams.err.append_format(BUILTIN_ERR_COMBO2, cmd, - _(L"--enter and --index are mutually exclusive")); + _(L"--entire and --index are mutually exclusive")); return STATUS_INVALID_ARGS; } From 248de41d70b9d52da3fa16b09ad64c7a8a830e27 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 7 Sep 2017 16:24:05 +0200 Subject: [PATCH 041/110] Add completions for git checkout --ours/--theirs (#4380) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add completions for git checkout --ours/--theirs * Change description for `git checkout --ours/--theirs´ completions (cherry picked from commit 6145b4a7704994ee5ef4bc4ad2febf404c4a37a2) --- share/completions/git.fish | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 4bb54d129..8181958da 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -369,6 +369,8 @@ complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_tags)' complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_modified_files)' --description 'File' complete -f -c git -n '__fish_git_using_command checkout' -s b -d 'Create a new branch' 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' # TODO options ### apply From e7b0327e08c3d079d2d2a63e881c8d9a28450a32 Mon Sep 17 00:00:00 2001 From: David Adam Date: Wed, 13 Sep 2017 21:39:01 +0800 Subject: [PATCH 042/110] Makefile: unbreak uninstall target Closes #4401. (cherry picked from commit 00d44599c4f1040b6be262657388953c6d20d3ed) --- Makefile.in | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/Makefile.in b/Makefile.in index 283e867e8..49477e9c8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -723,26 +723,19 @@ uninstall: uninstall-translations | show-prefix show-bindir show-sysconfdir show @echo @echo "$(bo)$(yellow)Uninstalling fish$(sgr0) from configured \$$prefix: $(bo)$(prefix)$(sgr0)" @echo - @echo "Deleting programs: [ $(bo)$(PROGRAMS)$(sgr0) ] in $(em)$(bindir)$(sgr0)" - -$v for i in $(PROGRAMS); do \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - done; - @echo "Deleting configuration: $(bo)$(DESTDIR)$(sysconfdir)/fish/*$(sgr0)" - -$v rm -rf $(DESTDIR)$(sysconfdir)/fish - @echo @echo "In 5 seconds, $(red)all data$(sgr0) (includes functions, completions, tools) in" - @echo $$"\t$(bo)$(DESTDIR)$(datadir)/fish$(sgr0) will be deleted!" + @echo $$'\t$(bo)$(DESTDIR)$(datadir)/fish$(sgr0) will be deleted!' @echo - @echo $$"If you put things there, $(red)stop now!$(sgr0) $(bo)\\c" - @echo $$"$(bo)5$(sgr0) \\c" + @echo "If you put things there, $(red)stop now!$(sgr0)" + @echo "$(bo)5$(sgr0)" @sleep 1 - @echo $$"$(bo)4$(sgr0) \\c" + @echo "$(bo)4$(sgr0)" @sleep 1 - @echo $$"$(bo)3$(sgr0) \\c" + @echo "$(bo)3$(sgr0)" @sleep 1 - @echo $$"$(bo)2$(sgr0) \\c" + @echo "$(bo)2$(sgr0)" @sleep 1 - @echo $$"$(bo)1$(sgr0) \\c" + @echo "$(bo)1$(sgr0)" @sleep 1 @echo ... @sleep 2 @@ -750,25 +743,26 @@ uninstall: uninstall-translations | show-prefix show-bindir show-sysconfdir show -$v if test -d $(DESTDIR)$(datadir)/fish; then \ rm -rf $(DESTDIR)$(datadir)/fish; \ fi - @echo + @echo "Deleting programs: [ $(bo)$(PROGRAMS)$(sgr0) ] in $(em)$(bindir)$(sgr0)" + -$v for i in $(PROGRAMS); do \ + rm -f $(DESTDIR)$(bindir)/$$i; \ + done; + @echo "Deleting configuration: $(bo)$(DESTDIR)$(sysconfdir)/fish/*$(sgr0)" + -$v rm -rf $(DESTDIR)$(sysconfdir)/fish @echo "Deleting documentation: $(bo)$(DESTDIR)$(docdir)/*$(sgr0)" -$v if test -d $(DESTDIR)$(docdir); then \ rm -rf $(DESTDIR)$(docdir);\ fi - @echo @echo "Deleting pkgconfig file: $(bo)$(DESTDIR)$(datadir)/pkgconfig/fish.pc$(sgr0)" -$v if test -f $(DESTDIR)$(datadir)/pkgconfig/fish.pc; then \ rm -f $(DESTDIR)$(datadir)/pkgconfig/fish.pc;\ fi + @echo "Deleting [ $(bo)"$(notdir $(MANUALS))"$(sgr0) ] in $(em)$(mandir)/man1$(sgr0)" + -$v for i in $(notdir $(MANUALS)); do \ + rm -f "$(DESTDIR)$(mandir)/man1/$$i" ;\ + done @echo - @echo $$"Deleting \\c" - @echo "[ $(bo)"$(basename $(MANUALS))$(sgr0) $$"] in \\c" - @echo "$(em)$(mandir)/man1$(sgr0)" - -$v for i in $(MANUALS); do \ - rm -rf "$(DESTDIR)$(mandir)/man1/"$$$(basename $i)$$$(wildcard .*); - done; - @echo - @echo "$(green)Fish (likely) unintalled$(sgr0)" + @echo "$(green)Fish (likely) uninstalled$(sgr0)" @echo @echo "$(bo)./configure --prefix=$(sgr0) to uninstall fish from a different prefix" .PHONY: uninstall From 7113cc33f1fa48f389a9065111700382d282286f Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 14 Sep 2017 13:39:12 -0500 Subject: [PATCH 043/110] Make s3cmd completions compatible with python3 environment It seems that under python3, s3cmd emits its output as a long list (like ls -l) with or without the --long parameter to "s3cmd ls s3://...". This patch includes only s3://* paths from that output as completions. --- share/completions/s3cmd.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/completions/s3cmd.fish b/share/completions/s3cmd.fish index 7cad2d39a..76c4862b9 100644 --- a/share/completions/s3cmd.fish +++ b/share/completions/s3cmd.fish @@ -9,7 +9,7 @@ function __s3cmd_is_valid_remote_path end # Completions to allow for autocomplete of remote paths -complete -c s3cmd -f -n "__s3cmd_is_valid_remote_path" -a "(s3cmd ls (commandline -ct) 2>/dev/null)" +complete -c s3cmd -f -n "__s3cmd_is_valid_remote_path" -a "(s3cmd ls (commandline -ct) 2>/dev/null | string match -r -- 's3://.*')" complete -c s3cmd -f -n "__s3cmd_is_remote_path" # Supress file completions for initial command From 9d7a0de4c1d68d73092abe3cffa54bf63c3a9637 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 14 Sep 2017 13:42:06 -0500 Subject: [PATCH 044/110] Squashed commit of the following: commit e07f1d59c06094846db8ce59f65d4790b222fffa Author: Mahmoud Al-Qudsi Date: Sun Sep 10 21:54:45 2017 -0500 Use git branch and git branch --remote for checkout completions commit 9e1632236be065e051e306b11082ca4e9c7a0ee1 Author: Mahmoud Al-Qudsi Date: Sun Sep 10 11:27:30 2017 -0500 Correct classification of remote and local branches To prevent any breakage, no changes were made to __fish_git_branches, instead its output was filtered into __fish_git_remote_branches and __fish_git_local_branches, the two of which are now used to provide completions for "git checkout ..." Fixes #4395 Closes #4396 --- share/completions/git.fish | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index 8181958da..4d1d27af9 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -18,6 +18,14 @@ function __fish_git_recent_commits | string replace -r '(.{73}).+' '$1…' end +function __fish_git_local_branches + command git branch | string trim -c ' *' +end + +function __fish_git_remote_branches + command git branch --remote | string trim -c ' *' +end + function __fish_git_branches # In some cases, git can end up on no branch - e.g. with a detached head # This will result in output like `* (no branch)` or a localized `* (HEAD detached at SHA)` @@ -362,7 +370,8 @@ complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_add_files)' ### checkout complete -f -c git -n '__fish_git_needs_command' -a checkout -d 'Checkout and switch to a branch' -complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_branches)' --description 'Branch' +complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_local_branches)' --description 'Local Branch' +complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_remote_branches)' --description 'Remote Branch' complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_heads)' --description 'Head' complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_unique_remote_branches)' --description 'Remote branch' complete -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_tags)' --description 'Tag' From d7628a4d291095088f7e5d5c28b720224e6b4bd8 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 14 Sep 2017 14:17:51 -0500 Subject: [PATCH 045/110] Emit error and GNU Make directions when compiled with BSD Make On BSD platforms, a BSD-specific BSDmakefile is searched for and used before any generic Makefile. We can use this to emit an informational message directing the user to use GNU Make instead of relying on the user's recognizing of random build failures on syntax errors as a sign to switch to GNU Make. (Random fact: this same trick also applies to GNU Make, which searches for a GNUmakefile before using Makefile) --- BSDmakefile | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 BSDmakefile diff --git a/BSDmakefile b/BSDmakefile new file mode 100644 index 000000000..e2e3b9adf --- /dev/null +++ b/BSDmakefile @@ -0,0 +1,3 @@ +all: + @echo "Error: BSD Make not supported" + @echo "Please use GNU Make (gmake) to build fish. Refer to README.md for detailed build instructions." From 0d8caeec34dea8e5edaf93a1d7dc3b89666b58ff Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 14 Sep 2017 14:29:20 -0500 Subject: [PATCH 046/110] Include make [test|all|install] in BSDmakefile If a build takes a long time, it's entirely possible to run `gmake` and then forget to use GNU make and run `make install` after. --- BSDmakefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/BSDmakefile b/BSDmakefile index e2e3b9adf..3af4eab79 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -1,3 +1,9 @@ -all: +warn: @echo "Error: BSD Make not supported" @echo "Please use GNU Make (gmake) to build fish. Refer to README.md for detailed build instructions." + +all: +install: warn +test: warn + +.PHONY: warn all install test From 215f73149853545618dabf52d72b20011816e7f7 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 14 Sep 2017 14:35:38 -0500 Subject: [PATCH 047/110] fixup! Include make [test|all|install] in BSDmakefile --- BSDmakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BSDmakefile b/BSDmakefile index 3af4eab79..591052dc8 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -2,7 +2,7 @@ warn: @echo "Error: BSD Make not supported" @echo "Please use GNU Make (gmake) to build fish. Refer to README.md for detailed build instructions." -all: +all: warn install: warn test: warn From 3a2b836f0ef8ad0c1b1e28221001454cb4b15a8d Mon Sep 17 00:00:00 2001 From: Ed Brannin Date: Fri, 15 Sep 2017 17:46:51 -0400 Subject: [PATCH 048/110] Fix smurf_color variable name (cherry picked from commit 9ac7da28bd5af934458aa3a8ef2c40f371b2111a) --- doc_src/index.hdr.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index 976c3054c..c416873e5 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -693,7 +693,7 @@ After a variable has been set, you can use the value of a variable in the shell Example: -To use the value of the variable `smurf`, write `$` (dollar symbol) followed by the name of the variable, like `echo Smurfs are usually $smurf_color`, which would print the result 'Smurfs are usually blue'. +To use the value of the variable `smurf_color`, write `$` (dollar symbol) followed by the name of the variable, like `echo Smurfs are usually $smurf_color`, which would print the result 'Smurfs are usually blue'. \subsection variables-scope Variable scope From 4d31a13fb2b50816fb94cffb2e52b946112bb3a0 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 16 Sep 2017 15:36:37 -0500 Subject: [PATCH 049/110] Lined up instructions output in make install (cherry picked from commit eac8158110c1bb9d343e962b675eb711631f20d6) --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 49477e9c8..2ae4f140e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -635,7 +635,7 @@ install: all install-force | check-legacy-binaries @echo @if type chsh >/dev/null 2>&1; then \ echo To use fish as your login shell:; \ - grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo \* add the line \'$(DESTDIR)$(bindir)/fish\' to the file \'/etc/shells\'; \ + grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo \ \ \* add the line \'$(DESTDIR)$(bindir)/fish\' to the file \'/etc/shells\'; \ echo " * run $(yellow)chsh -s $(DESTDIR)$(bindir)/fish$(sgr0)"; \ echo; \ fi; From f14fde2373bc0ae604177052a1ab4dc180af9920 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 16 Sep 2017 15:47:32 -0500 Subject: [PATCH 050/110] Use inline code for paths and commands (cherry picked from commit 14e23749a6318826b8fd4c26466762467c569deb) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 35b11438c..ad596adcb 100644 --- a/README.md +++ b/README.md @@ -99,9 +99,9 @@ If you wish to use fish as your default shell, use the following command: chsh -s /usr/local/bin/fish -chsh will prompt you for your password, and change your default shell. Substitute "/usr/local/bin/fish" with whatever path to fish is in your /etc/shells file. +chsh will prompt you for your password, and change your default shell. Substitute `/usr/local/bin/fish` with whatever path to fish is in your `/etc/shells` file. -Use the following command if you didn't already add your fish path to /etc/shells. +Use the following command if you didn't already add your fish path to `/etc/shells`. echo /usr/local/bin/fish | sudo tee -a /etc/shells @@ -109,7 +109,7 @@ To switch your default shell back, you can run: chsh -s /bin/bash -Substitute /bin/bash with /bin/tcsh or /bin/zsh as appropriate. +Substitute `/bin/bash` with `/bin/tcsh` or `/bin/zsh` as appropriate. You may need to logout/login for the change (chsh) to take effect. From ace7903bc339fd9a5a73922fba82f6a638a5542a Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 16 Sep 2017 15:50:41 -0500 Subject: [PATCH 051/110] Make build code snippets copy-and-paste friendly (cherry picked from commit 46cf8c6bb7904df9306a76db79689df6d9893e3d) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad596adcb..767cee82b 100644 --- a/README.md +++ b/README.md @@ -134,10 +134,10 @@ Compiling from git (that is, not a released tarball) also requires: ### Autotools Build - autoreconf --no-recursive [if building from Git] + autoreconf --no-recursive #[if building from Git] ./configure - make [gmake on BSD] - sudo make install [sudo gmake install on BSD] + make #[gmake on BSD] + sudo make install #[sudo gmake install on BSD] ### Xcode Development Build From 0d93125664f3062faf940906b89c76a9df9ee901 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Fri, 22 Sep 2017 21:19:11 -0500 Subject: [PATCH 052/110] Merge pull request #4421 from krader1961/consistent-unicode Use \uXXXX consistently for unicode code points (cherry picked from commit 6b2e84be0e6d04f925ad3091e118048d9cb978f4) Backporting to 2.7.0 branch just to try and keep changes between master and this branch as minimal as possible. --- src/common.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/common.cpp b/src/common.cpp index be5c6bf43..27ca11930 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -486,14 +487,14 @@ wchar_t *quote_end(const wchar_t *pos) { } void fish_setlocale() { - // Use the Unicode "ellipsis" symbol if it can be encoded using the current locale. - ellipsis_char = can_be_encoded(L'\x2026') ? L'\x2026' : L'$'; - - // Use the Unicode "return" symbol if it can be encoded using the current locale. - omitted_newline_char = can_be_encoded(L'\x23CE') ? L'\x23CE' : L'~'; - - // solid circle unicode character if it is able, fallback to the hash character - obfuscation_read_char = can_be_encoded(L'\u25cf') ? L'\u25cf' : L'#'; + // Use various Unicode symbols if they can be encoded using the current locale, else a simple + // ASCII char alternative. All of the can_be_encoded() invocations should return the same + // true/false value since the code points are in the BMP but we're going to be paranoid. This + // is also technically wrong if we're not in a Unicode locale but we expect (or hope) + // can_be_encoded() will return false in that case. + ellipsis_char = can_be_encoded(L'\u2026') ? L'\u2026' : L'$'; // "horizontal ellipsis" + omitted_newline_char = can_be_encoded(L'\u23CE') ? L'\u23CE' : L'~'; // "return" + obfuscation_read_char = can_be_encoded(L'\u25CF') ? L'\u25CF' : L'#'; // "black circle" } long read_blocked(int fd, void *buf, size_t count) { From 43d00161258e53926aed645ee0ade7771080e3bb Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Sat, 23 Sep 2017 13:06:44 -0700 Subject: [PATCH 053/110] Correct prefix length calculation in completion measurement A completion may have zero length; in this case the length of the prefix was omitted and the completion was not visible. Correct the calculation to account for zero-width completions. Fixes #4424 --- src/pager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pager.cpp b/src/pager.cpp index 2dbc95d93..da58b9054 100644 --- a/src/pager.cpp +++ b/src/pager.cpp @@ -328,7 +328,7 @@ void pager_t::measure_completion_infos(comp_info_list_t *infos, const wcstring & // fish_wcswidth() can return -1 if it can't calculate the width. So be cautious. int comp_width = fish_wcswidth(comp_strings.at(j).c_str()); - if (comp_width > 0) comp->comp_width += prefix_len + comp_width; + if (comp_width >= 0) comp->comp_width += prefix_len + comp_width; } // fish_wcswidth() can return -1 if it can't calculate the width. So be cautious. From bcd9c39509bd8fb13e849523c456bfd83ab547cc Mon Sep 17 00:00:00 2001 From: David Adam Date: Sun, 24 Sep 2017 14:07:45 +0800 Subject: [PATCH 054/110] Rename FISH_HISTORY to fish_history Work on #4414. (cherry picked and edited from commit 472e186c2b84fce115500e357801e170de93736d) --- CHANGELOG.md | 4 ++-- doc_src/history.txt | 4 ++-- doc_src/index.hdr.in | 7 +++++-- doc_src/read.txt | 2 +- src/builtin_read.cpp | 2 +- src/env.cpp | 2 +- src/history.cpp | 4 ++-- tests/histfile.expect | 14 +++++++------- 8 files changed, 21 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a611f63b..571d20f14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,8 @@ - Invalid array indexes are now silently ignored (#826, #4127). - `string escape` has a new `--style=xxx` flag where `xxx` can be `script`, `var`, or `url` (#4150). - `string unescape` has been implemented to reverse the effects of `string escape` (#3543). -- The history file can now be specified by setting the `FISH_HISTORY` variable (#102). -- Read history is now controlled by the `FISH_HISTORY` variable rather than the `--mode-name` flag (#1504). +- The history file can now be specified by setting the `fish_history` variable (#102). +- Read history is now controlled by the `fish_history` variable rather than the `--mode-name` flag (#1504). - Implement a `cdh` (change directory using recent history) command to provide a more friendly alternative to prevd/nextd and pushd/popd (#2847). - `command` now supports a `-a` flag to report all directories with the command. This means that `which -a $cmd` is no longer necessary (#2778). - `--init-command`/`-C` added to the command line switches, to allow execution of commands before starting the interactive shell (#4164). diff --git a/doc_src/history.txt b/doc_src/history.txt index 489dc7178..c19f30ca7 100644 --- a/doc_src/history.txt +++ b/doc_src/history.txt @@ -64,9 +64,9 @@ history delete --prefix "foo" By default interactive commands are logged to `$XDG_DATA_HOME/fish/fish_history` (typically `~/.local/share/fish/fish_history`). -You can set the `FISH_HISTORY` variable to another name for the current shell session. The default value (when the variable is unset) is `fish` which corresponds to `$XDG_DATA_HOME/fish/fish_history`. If you set it to e.g. `fun`, the history would be written to `$XDG_DATA_HOME/fish/fun_history`. An empty string means history will not be stored at all. This is similar to the private session features in web browsers. +You can set the `fish_history` variable to another name for the current shell session. The default value (when the variable is unset) is `fish` which corresponds to `$XDG_DATA_HOME/fish/fish_history`. If you set it to e.g. `fun`, the history would be written to `$XDG_DATA_HOME/fish/fun_history`. An empty string means history will not be stored at all. This is similar to the private session features in web browsers. -You can change `FISH_HISTORY` at any time (by using `set -x FISH_HISTORY "session_name"`) and it will take effect right away. If you set it to `"default"`, it will use the default session name (which is `"fish"`). +You can change `fish_history` at any time (by using `set -x fish_history "session_name"`) and it will take effect right away. If you set it to `"default"`, it will use the default session name (which is `"fish"`). Other shells such as bash and zsh use a variable named `HISTFILE` for a similar purpose. Fish uses a different name to avoid conflicts and signal that the behavior is different (session name instead of a file path). Also, if you set the var to anything other than `fish` or `default` it will inhibit importing the bash history. That's because the most common use case for this feature is to avoid leaking private or sensitive history when giving a presentation. diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index c416873e5..b384e87a3 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -847,7 +847,7 @@ The user can change the settings of `fish` by changing the values of certain var - `history`, an array containing the last commands that were entered. -- `FISH_HISTORY`: Name of the history session. It defaults to `fish` (which typically means the history will be saved in `~/.local/share/fish/fish_history`). This variable can be changed by the user. It does not have to be an environment variable. You can change it at will within an interactive fish session to change where subsequent commands are logged. +- `fish_history`: Name of the history session. It defaults to `fish` (which typically means the history will be saved in `~/.local/share/fish/fish_history`). This variable can be changed by the user. It does not have to be an environment variable. You can change it at will within an interactive fish session to change where subsequent commands are logged. - `HOME`, the user's home directory. This variable can be changed by the user. @@ -1132,7 +1132,10 @@ History searches can be aborted by pressing the escape key. Prefixing the commandline with a space will prevent the entire line from being stored in the history. -The command history is stored in the file `~/.local/share/fish/fish_history` (or `$XDG_DATA_HOME/fish/fish_history` if that variable is set) by default. However, you can set the `FISH_HISTORY` environment variable to change the name of the history session (resulting in a `_history` file); both before starting the shell and while the shell is running. +The command history is stored in the file `~/.local/share/fish/fish_history` (or +`$XDG_DATA_HOME/fish/fish_history` if that variable is set) by default. However, you can set the +`fish_history` environment variable to change the name of the history session (resulting in a +`_history` file); both before starting the shell and while the shell is running. Examples: diff --git a/doc_src/read.txt b/doc_src/read.txt index 5b3902dd2..0ceedb8dc 100644 --- a/doc_src/read.txt +++ b/doc_src/read.txt @@ -54,7 +54,7 @@ In order to protect the shell from consuming too many system resources, `read` w \subsection read-history Using another read history file -The `read` command supported the `-m` and `--mode-name` flags in fish versions prior to 2.7.0 to specify an alternative read history file. Those flags are now deprecated and ignored. Instead, set the `FISH_HISTORY` variable to specify a history session ID. That will affect both the `read` history file and the fish command history file. You can set it to an empty string to specify that no history should be read or written. This is useful for presentations where you do not want possibly private or sensitive history to be exposed to the audience but do want history relevant to the presentation to be available. +The `read` command supported the `-m` and `--mode-name` flags in fish versions prior to 2.7.0 to specify an alternative read history file. Those flags are now deprecated and ignored. Instead, set the `fish_history` variable to specify a history session ID. That will affect both the `read` history file and the fish command history file. You can set it to an empty string to specify that no history should be read or written. This is useful for presentations where you do not want possibly private or sensitive history to be exposed to the audience but do want history relevant to the presentation to be available. \subsection read-example Example diff --git a/src/builtin_read.cpp b/src/builtin_read.cpp index 6ba4c8a5a..1bbd0961a 100644 --- a/src/builtin_read.cpp +++ b/src/builtin_read.cpp @@ -109,7 +109,7 @@ static int parse_cmd_opts(read_cmd_opts_t &opts, int *optind, //!OCLINT(high nc } case L'm': { streams.err.append_format(_(L"%ls: flags '--mode-name' / '-m' are now ignored. " - L"Set FISH_HISTORY instead.\n"), + L"Set fish_history instead.\n"), cmd); break; } diff --git a/src/env.cpp b/src/env.cpp index eec86d2ec..6cf9c9e60 100644 --- a/src/env.cpp +++ b/src/env.cpp @@ -612,7 +612,7 @@ static void react_to_variable_change(const wcstring &key) { invalidate_termsize(true); // force fish to update its idea of the terminal size plus vars } else if (key == L"FISH_READ_BYTE_LIMIT") { env_set_read_limit(); - } else if (key == L"FISH_HISTORY") { + } else if (key == L"fish_history") { reader_change_history(history_session_id().c_str()); } } diff --git a/src/history.cpp b/src/history.cpp index 9b12a5dd6..0ac9f9f5e 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -52,7 +52,7 @@ // // Newlines are replaced by \n. Backslashes are replaced by \\. -// This is the history session ID we use by default if the user has not set env var FISH_HISTORY. +// This is the history session ID we use by default if the user has not set env var fish_history. #define DFLT_FISH_HISTORY_SESSION_ID L"fish" // When we rewrite the history, the number of items we keep. @@ -1805,7 +1805,7 @@ void history_sanity_check() { wcstring history_session_id() { wcstring result = DFLT_FISH_HISTORY_SESSION_ID; - const env_var_t session_id = env_get_string(L"FISH_HISTORY"); + const env_var_t session_id = env_get_string(L"fish_history"); if (!session_id.missing()) { if (session_id.empty()) { result = L""; diff --git a/tests/histfile.expect b/tests/histfile.expect index d023d8e1d..21082c811 100644 --- a/tests/histfile.expect +++ b/tests/histfile.expect @@ -1,12 +1,12 @@ # vim: set filetype=expect: # We're going to use three history files, including the default, to verify -# that the FISH_HISTORY variable works as expected. +# that the fish_history variable works as expected. set default_histfile "../test/data/fish/fish_history" set my_histfile "../test/data/fish/my_history" set env_histfile "../test/data/fish/env_history" # ============= -# Verify that if we spawn fish with no FISH_HISTORY env var it uses the +# Verify that if we spawn fish with no fish_history env var it uses the # default file. # ============= set fish_pid [spawn $fish] @@ -34,7 +34,7 @@ expect_prompt -re "\r\n$hist_line\r\n" { # history file is not written to. set cmd2 "echo $fish_pid my histfile" set hist_line "- cmd: $cmd2" -send "set FISH_HISTORY my\r" +send "set fish_history my\r" expect_prompt send "$cmd2\r" expect_prompt @@ -62,7 +62,7 @@ expect_prompt -re "\r\n$hist_line\r\n" { # Switch back to the default history file. set cmd3 "echo $fish_pid default histfile again" set hist_line "- cmd: $cmd3" -send "set FISH_HISTORY default\r" +send "set fish_history default\r" expect_prompt send "$cmd3\r" expect_prompt @@ -94,15 +94,15 @@ expect_prompt -re "\r\n$hist_line\r\n" { send "exit\r" close $spawn_id -# Set the FISH_HISTORY env var. -set ::env(FISH_HISTORY) env +# Set the fish_history env var. +set ::env(fish_history) env # Spawn a new shell. set prompt_counter 1 set fish_pid [spawn $fish] expect_prompt -# Verify that the new fish shell is using the FISH_HISTORY value for history. +# Verify that the new fish shell is using the fish_history value for history. set cmd4 "echo $fish_pid env histfile" set hist_line "- cmd: $cmd4" send "$cmd4\r" From 93d352b8099cca40082e7d588e79ba603ee5ea6d Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 24 Sep 2017 13:43:50 -0500 Subject: [PATCH 055/110] Work around WSL access(2) EINVAL bug See Microsoft/BashOnWindows#2522, Microsoft/BashOnWindows#2448 (cherry picked from commit 56c041b88979bcdc3cf0f995f47bba9393cdfbb3) --- src/path.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/path.cpp b/src/path.cpp index 36997b76d..53cd276d4 100644 --- a/src/path.cpp +++ b/src/path.cpp @@ -86,6 +86,13 @@ static bool path_get_path_core(const wcstring &cmd, wcstring *out_path, case ENOTDIR: { break; } + //WSL has a bug where access(2) can return EINVAL + //See https://github.com/Microsoft/BashOnWindows/issues/2522 + //The only other way EINVAL can happen is if the wrong + //mode was specified, but we have X_OK hard-coded above. + case EINVAL: { + break; + } default: { debug(1, MISSING_COMMAND_ERR_MSG, next_path.c_str()); wperror(L"access"); From 661d96c3366024174f34aed734142a58e690cacb Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 24 Sep 2017 13:58:13 -0500 Subject: [PATCH 056/110] Make instructions after `make install` more uniformly formatted Fixed indentation and quoting to match between all three commands printed after `make install` (cherry picked from commit 50f8ff1bc5230fe83f85aaa3621fbf3be8126721) --- Makefile.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in index 2ae4f140e..d8c3fc6b7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -635,13 +635,13 @@ install: all install-force | check-legacy-binaries @echo @if type chsh >/dev/null 2>&1; then \ echo To use fish as your login shell:; \ - grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo \ \ \* add the line \'$(DESTDIR)$(bindir)/fish\' to the file \'/etc/shells\'; \ - echo " * run $(yellow)chsh -s $(DESTDIR)$(bindir)/fish$(sgr0)"; \ + grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo \ \* add the line \'$(DESTDIR)$(bindir)/fish\' to the file \'/etc/shells\'; \ + echo " * run '$(yellow)chsh -s $(DESTDIR)$(bindir)/fish$(sgr0)'"; \ echo; \ fi; @if type chcon >/dev/null 2>&1; then \ echo If you have SELinux enabled, you may need to manually update the security policy:; \ - echo \* use the command \'chcon -t shell_exec_t $(DESTDIR)$(bindir)/fish\'.; \ + echo \ \* use the command \'chcon -t shell_exec_t $(DESTDIR)$(bindir)/fish\'; \ echo; \ fi; @echo "To set your colors, run $(green)$(bo)fish_config$(sgr0)" From 92a6906e6a03a950482d025d45d0d99d99c9c618 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 24 Sep 2017 14:03:25 -0500 Subject: [PATCH 057/110] Update README to include syntax highlighting Use bash syntax highlighting to make comments appear in gray (cherry picked from commit 22a4ead36ee64c25f2f2c07bb72e5098e84eedc7) --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 767cee82b..beeed3aaf 100644 --- a/README.md +++ b/README.md @@ -134,10 +134,12 @@ Compiling from git (that is, not a released tarball) also requires: ### Autotools Build - autoreconf --no-recursive #[if building from Git] - ./configure - make #[gmake on BSD] - sudo make install #[sudo gmake install on BSD] +```bash +autoreconf --no-recursive #if building from Git +./configure +make #gmake on BSD +sudo make install #sudo gmake install on BSD +``` ### Xcode Development Build From 19b89983a1298c97368ac48e117803d1a2388d23 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 24 Sep 2017 15:00:50 -0500 Subject: [PATCH 058/110] Automatically pass build through to gmake on BSD Smarter BSDmakefile that automatically calls gmake to build the targets, even including `-j` if provided. README.md can be simplified to remove `gmake` references from build instructions for BSD users. (cherry picked from commit cc35241a6ec7091beffb0fd570e1fe9c0d2d2f51) --- BSDmakefile | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/BSDmakefile b/BSDmakefile index 591052dc8..c85ec00fc 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -1,9 +1,17 @@ -warn: - @echo "Error: BSD Make not supported" - @echo "Please use GNU Make (gmake) to build fish. Refer to README.md for detailed build instructions." +JARG = +GMAKE = "gmake" +.if "$(.MAKE.JOBS)" != "" +JARG = -j$(.MAKE.JOBS) +.endif -all: warn -install: warn -test: warn +#by default bmake will cd into ./obj first +.OBJDIR: ./ + +.DONE .DEFAULT: .SILENT + $(GMAKE) $(.TARGETS:S,.DONE,,) $(JARG) + +.ERROR: .SILENT + if ! which $(GMAKE) > /dev/null; then \ + echo "GNU Make is required!"; \ + fi -.PHONY: warn all install test From 01c5f6eaa85d6c3e69bc407e816b38dacac21852 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 24 Sep 2017 15:04:40 -0500 Subject: [PATCH 059/110] Removed gmake disclaimer from BSD build instructions After cc35241a6ec7091beffb0fd570e1fe9c0d2d2f51, BSD users can just call make normally and have it redirect the build/install/test/whatever to GNU Make. (cherry picked from commit 3604522bf2768a40c962289cd06579711853af38) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index beeed3aaf..43b89f6bd 100644 --- a/README.md +++ b/README.md @@ -132,13 +132,13 @@ Compiling from git (that is, not a released tarball) also requires: * automake 1.13 or later * Doxygen (1.8.7 or later) - optional, for documentation -### Autotools Build +### Building from source ```bash autoreconf --no-recursive #if building from Git ./configure -make #gmake on BSD -sudo make install #sudo gmake install on BSD +make +sudo make install ``` ### Xcode Development Build From d1472532d3cd307afcb0dd68f2c4b9fbb5cab4da Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 08:19:33 -0500 Subject: [PATCH 060/110] Support building on Solaris 11 Took care of remaining issues preventing fish from building on Solaris. Mainly caused by some assumptions that certain defines are POSIX when they are not (`NAME_MAX`). Moved `NAME_MAX` defines to common.h - for some reason, it was being defined in a cpp file (`env_universal_common.cpp`) even though it is used in multiple source files. Now compiles on Solaris 11 with GNU Make. Still some warnings because fish was written with GNU getopt in mind and the Solaris version doesn't use `const char *` but rather just `char *` for getopt values, but it builds nevertheless. Assuming this closes #3340 (cherry picked from commit ffebe748851fc725dfec44c48bc90cf2ab92b29f) --- src/common.h | 12 ++++++++++++ src/env_universal_common.cpp | 7 ------- src/wutil.cpp | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/common.h b/src/common.h index 46953359f..4ea4637df 100644 --- a/src/common.h +++ b/src/common.h @@ -4,6 +4,7 @@ #include "config.h" // IWYU pragma: keep #include +#include #include #include // IWYU pragma: keep #include @@ -89,6 +90,17 @@ typedef std::vector wcstring_list_t; #define INPUT_COMMON_BASE (wchar_t)0xF700 #define INPUT_COMMON_END (INPUT_COMMON_BASE + 64) +// NAME_MAX is not defined on Solaris +#if !defined(NAME_MAX) +#include +#if defined(MAXNAMELEN) +// MAXNAMELEN is defined on Linux, BSD, and Solaris among others +#define NAME_MAX MAXNAMELEN +#else +static_assert(false, "Neither NAME_MAX nor MAXNAMELEN is defined!"); +#endif +#endif + enum escape_string_style_t { STRING_STYLE_SCRIPT, STRING_STYLE_URL, STRING_STYLE_VAR }; // Flags for unescape_string functions. diff --git a/src/env_universal_common.cpp b/src/env_universal_common.cpp index eac8b1e10..86ad085bd 100644 --- a/src/env_universal_common.cpp +++ b/src/env_universal_common.cpp @@ -55,13 +55,6 @@ #include #endif // Haiku -// NAME_MAX is not defined on Solaris and suggests the use of pathconf() -// There is no obvious sensible pathconf() for shared memory and _XPG_NAME_MAX -// seems a reasonable choice. -#if !defined(NAME_MAX) && defined(_XOPEN_NAME_MAX) -#define NAME_MAX _XOPEN_NAME_MAX -#endif - /// The set command. #define SET_STR L"SET" diff --git a/src/wutil.cpp b/src/wutil.cpp index d777555bf..ab5de1d76 100644 --- a/src/wutil.cpp +++ b/src/wutil.cpp @@ -92,7 +92,7 @@ bool wreaddir(DIR *dir, wcstring &out_name) { // long when it should be at least NAME_MAX + 1. union { struct dirent d; - char c[offsetof(struct dirent, d_name) + NAME_MAX + 1]; /* NAME_MAX is POSIX. */ + char c[offsetof(struct dirent, d_name) + NAME_MAX + 1]; } d_u; struct dirent *result = NULL; From fc80505ecc8e643072864d1fdd5c1756d22e8e8b Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 08:55:28 -0500 Subject: [PATCH 061/110] Support colored ls output on Solaris 11 Closes #1223 (cherry picked from commit 6513db35c19da0d797ebd2baadfe249f053e3ac3) --- share/functions/ls.fish | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/functions/ls.fish b/share/functions/ls.fish index 4a6b0db3d..9f7e5df61 100644 --- a/share/functions/ls.fish +++ b/share/functions/ls.fish @@ -34,4 +34,9 @@ else if command ls -G / >/dev/null ^/dev/null function ls --description "List contents of directory" command ls -G $argv end +else if command ls --color / >/dev/null 2>/dev/null + # Solaris 11's ls command takes a --color flag + function ls --description "List contents of directory" + command ls --color $argv + end end From 73282c9c4d78909150ce72ae46aba1945a63f7a3 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 08:58:30 -0500 Subject: [PATCH 062/110] Ignore muparser src directory When switching between fish3 and fish2 for development, the muparser directory is always left over and doesn't represent anything that concerns fish2. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8c6a1ef55..31d38e66c 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,5 @@ xcuserdata/ *.xccheckout *.xcscmblueprin +# This is left over when building fish 3 +muparser-*/ From 67e3bac583409dcc44f38c79ff951ee213bfe075 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 09:21:16 -0500 Subject: [PATCH 063/110] Speed up __fish_print_hostnames for faster completions Thanks to @ThomasAH, as per #4378. Tested on many platforms (OS X, FreeBSD, Linux, and Solaris). Works with IPv4 and IPv6 as well as host names and loopback addresses. (cherry picked from commit 3b3bcc998e9c27b910f362eb9b6f24f752b4ca5c) --- share/functions/__fish_print_hostnames.fish | 26 ++++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish index c3f392a3b..a6d4ef991 100644 --- a/share/functions/__fish_print_hostnames.fish +++ b/share/functions/__fish_print_hostnames.fish @@ -94,16 +94,24 @@ function __fish_print_hostnames -d "Print a list of known hostnames" set known_hosts $known_hosts (string replace -rfi '.*KnownHostsFile\s*' '' <$file) end end - for file in $known_hosts + for file in $known_hosts if test -r $file - # Ignore hosts that are hashed, commented or @-marked and strip the key. - string replace -r '[#@| ].*' '' <$file \ - # Split on ",". - # Ignore negated/wildcarded hosts. - | string split "," | string match -rv '[!\*\?]' \ - # Extract hosts with custom port. - | string replace -r '\[([^]]+)\]:.*' '$1' - # string replace -ra '(\S+) .*' '$1' <$file | string match -r '^[^#|[=]+$' | string split "," + # Ignore hosts that are hashed, commented or @-marked and strip the key. + awk '$1 !~ /[|#@]/ { + n=split($1, entries, ",") + for (i=1; i<=n; i++) { + # Ignore negated/wildcarded hosts. + if (!match(entry=entries[i], "[!*?]")) { + # Extract hosts with custom port. + if (substr(entry, 1, 1) == "[") { + if (pos=match(entry, "]:.*$")) { + entry=substr(entry, 2, pos-2) + } + } + print entry + } + } + }' $file end end return 0 From c8425f832cadb25e6c689f367d59adda7e22333f Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 09:49:54 -0500 Subject: [PATCH 064/110] Fix non-standard getcwd() invocation The POSIX standard specifies that a buffer should be supplied to getcwd(), not doing so is undefined (or rather, platform-defined) behavior. This was causing the getcwd errors on illumos (though not seen on Solaris 11) reported in #3340 Closes #3340 (cherry picked from commit b495c68f28b44e0d9065c7cd2d73712b8283a4c3) --- src/wutil.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/wutil.cpp b/src/wutil.cpp index ab5de1d76..0ab3dca6a 100644 --- a/src/wutil.cpp +++ b/src/wutil.cpp @@ -137,18 +137,14 @@ bool wreaddir_for_dirs(DIR *dir, wcstring *out_name) { } const wcstring wgetcwd() { - wcstring retval; - - char *res = getcwd(NULL, 0); + char cwd[NAME_MAX]; + char *res = getcwd(cwd, sizeof(cwd)); if (res) { - retval = str2wcstring(res); - free(res); - } else { - debug(0, _(L"getcwd() failed with errno %d/%s"), errno, strerror(errno)); - retval = wcstring(); + return str2wcstring(res); } - return retval; + debug(0, _(L"getcwd() failed with errno %d/%s"), errno, strerror(errno)); + return wcstring(); } int wchdir(const wcstring &dir) { From e1281754fea2d8461711a1b2a2c52c4858793aed Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 10:00:23 -0500 Subject: [PATCH 065/110] Since cwd is a path, use PATH_MAX and not NAME_MAX (cherry picked from commit c40188e40e73c4ccca3a331eaf405c19b40d78e5) --- src/wutil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wutil.cpp b/src/wutil.cpp index 0ab3dca6a..6bc71c8cb 100644 --- a/src/wutil.cpp +++ b/src/wutil.cpp @@ -137,7 +137,7 @@ bool wreaddir_for_dirs(DIR *dir, wcstring *out_name) { } const wcstring wgetcwd() { - char cwd[NAME_MAX]; + char cwd[PATH_MAX]; char *res = getcwd(cwd, sizeof(cwd)); if (res) { return str2wcstring(res); From c7771bb0ddc0831371b98ed5cfcc8dd1e8c04a96 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 13:25:29 -0500 Subject: [PATCH 066/110] Don't use xdg-open if running in terminal mode (i.e. no Xorg) If the $DISPLAY environment variable is not set, xdg-open should not be used to load the web browser. Just because it is installed does not mean that the user exclusively runs in an X session. Needed for Lynx detection to work around #4170 (cherry picked from commit 2b425ad221831b7f149042265fcc72b847b8488a) --- share/functions/help.fish | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/functions/help.fish b/share/functions/help.fish index d8c4f26c6..61b17ba14 100644 --- a/share/functions/help.fish +++ b/share/functions/help.fish @@ -55,8 +55,9 @@ function help --description 'Show help for the fish shell' # If the OS appears to be Windows (graphical), try to use cygstart if type -q cygstart set fish_browser cygstart - # If xdg-open is available, just use that - else if type -q xdg-open + # If xdg-open is available, just use that + # but only if an X session is running + else if type -q xdg-open; and set -q -x DISPLAY set fish_browser xdg-open end From 869248932692edb1b016d7fba7ad82ec2c3b6416 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 13:34:23 -0500 Subject: [PATCH 067/110] Use a custom Lynx style sheet (LSS file) to work around Lynx bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lynx uses a very naïve method of applying styles to HTML elements by hashing the element type and the class name to generate a map of hash:style. After the hash is calculated, Lynx does not go back and check whether or not the actual string values match the LSS properties. See the following links on the Links mailing list: * http://lists.gnu.org/archive/html/lynx-dev/2015-12/msg00037.html * http://lists.gnu.org/archive/html/lynx-dev/2015-12/msg00039.html This patch copies the default Lynx stylesheet but removes highlighting and other styles that would result in unreadable text (due to not enough contrast with the background color), and if the `help` builtin detects that the best web browser to use is Lynx, it instructs it to use this modified stylesheet. (cherry picked from commit 8b858f2fcce4f22c1be793aef18352818bd0d19b) --- doc_src/lynx.lss | 104 ++++++++++++++++++++++++++++++++++++++ share/functions/help.fish | 6 +++ 2 files changed, 110 insertions(+) create mode 100644 doc_src/lynx.lss diff --git a/doc_src/lynx.lss b/doc_src/lynx.lss new file mode 100644 index 000000000..dcf83f26f --- /dev/null +++ b/doc_src/lynx.lss @@ -0,0 +1,104 @@ +# Lynx Style Sheet +# Used as a custom style sheet (LSS) for the Lynx browser to work around some +# poor defaults. Usage: `lynx -lss=style.lss` +# +# The next line (beginning with "em") means: use bold if mono, otherwise +# brightblue on (implicit) +em:bold:brightblue +strong:bold:brightred +b:bold:red +i:bold:brightblue +a:bold:green +img:dim:brown +fig:normal:gray +caption:reverse:brown +hr:normal:yellow +blockquote:normal:brightblue +ul:normal:brown +address:normal:magenta +title:normal:magenta +tt:dim:brightmagenta:default +h1:bold:yellow +h2:normal:brown +h3:normal:green +h4:normal:cyan +label:normal:magenta +q:normal:yellow +small:dim:default +big:bold:yellow +sup:bold:yellow +sub:dim:gray +lh:bold:yellow +li:normal:magenta +code:normal:cyan +cite:normal:cyan + +table:normal:brightcyan +tr:bold:brown +td:normal:default +br:normal:default + +# Special styles - not corresponding directly to HTML tags +# alert - status bar, when message begins "Alert". +# alink - active link +# normal - default attributes +# status - status bar +# whereis - whereis search target +# +#normal:normal:default:blue +alink:reverse:yellow +status:reverse:yellow +alert:bold:yellow:red +whereis:reverse+underline:magenta +# currently not used +#value:normal:green +#high:bold:brightmagenta +forwbackw.arrow:reverse + +# Styles with classes -
    etc. +ul.red:underline:brightred +ul.blue:bold:brightblue +li.red:reverse:red +li.blue:bold:blue +strong.a:bold:black +/* em.a:reverse:black */ +em.a:bold:bold +strong.b:bold:white +em.b:reverse:white +strong.debug:reverse:green +font.letter:normal:default +input.submit:normal:cyan +tr.baone:bold:yellow +tr.batwo:bold:green +tr.bathree:bold:red +# +# Special handling for link. +link:normal:white +link.green:bold:brightgreen +link.red:bold:black +link.blue:bold:white +link.toc:bold:black:white +# Special cases for link - the rel or title is appended after the class. +# +link.red.next:bold:red +link.red.prev:bold:yellow +link.blue.prev:bold:yellow +link.blue.next:bold:blue +link.green.toc:bold:white +# +# Define styles that will be used when syntax highlighting is requested +# (commandline option -prettysrc). +span.htmlsrc_comment:normal:white +span.htmlsrc_tag:normal:white +#If you don't like that the tag name and attribute name are displayed +#in different colors, comment the following line. +span.htmlsrc_attrib:normal:cyan +span.htmlsrc_attrval:normal:magenta +span.htmlsrc_abracket:normal:white +span.htmlsrc_entity:normal:white +##span.htmlsrc_href: +##span.htmlsrc_entire: +span.htmlsrc_badseq:normal:red +span.htmlsrc_badtag:normal:red +span.htmlsrc_badattr:normal:red +span.htmlsrc_sgmlspecial:normal:yellow diff --git a/share/functions/help.fish b/share/functions/help.fish index 61b17ba14..21f8fec75 100644 --- a/share/functions/help.fish +++ b/share/functions/help.fish @@ -148,6 +148,12 @@ function help --description 'Show help for the fish shell' end eval "$fish_browser $page_url &" else + # Work around lynx bug where
    always has the same formatting as links (unreadable) + # by using a custom style sheet. See https://github.com/fish-shell/fish-shell/issues/4170 + set -l local_file 0 + if eval $fish_browser --version 2>/dev/null | string match -qr Lynx + set fish_browser $fish_browser -lss={$__fish_help_dir}/fish.lss + end eval $fish_browser $page_url end end From 8fcbe1a105354f8adb2445a7710c75f9eca1f84c Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 14:31:11 -0500 Subject: [PATCH 068/110] Install custom LSS script to /usr/local/share/fish on make install Decided to move doc_src/fish.lss to share/lynx.lss, which just makes more sense all around. Accordingly, now using {$__fish_datadir} instead of {$__fish_help_dir} in help.fish. Makefile now installs the custom lss on make install (cherry picked from commit 338311af1ee8ef5ddd57fc9fd5a78cef2b8ac39d) --- Makefile.in | 2 ++ share/functions/help.fish | 2 +- {doc_src => share}/lynx.lss | 0 3 files changed, 3 insertions(+), 1 deletion(-) rename {doc_src => share}/lynx.lss (100%) diff --git a/Makefile.in b/Makefile.in index d8c3fc6b7..8462a92f5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -714,6 +714,8 @@ install-force: all install-translations install-doc | show-datadir show-sysconfd $(INSTALL) -m 644 $$i $(DESTDIR)$(mandir)/man1/; \ true; \ done; + @echo "Installing miscellaneous helper resources"; + $v $(INSTALL) -m 644 share/lynx.lss $(DESTDIR)$(datadir)/fish/ .PHONY: install-force # diff --git a/share/functions/help.fish b/share/functions/help.fish index 21f8fec75..5ad92a724 100644 --- a/share/functions/help.fish +++ b/share/functions/help.fish @@ -152,7 +152,7 @@ function help --description 'Show help for the fish shell' # by using a custom style sheet. See https://github.com/fish-shell/fish-shell/issues/4170 set -l local_file 0 if eval $fish_browser --version 2>/dev/null | string match -qr Lynx - set fish_browser $fish_browser -lss={$__fish_help_dir}/fish.lss + set fish_browser $fish_browser -lss={$__fish_datadir}/lynx.lss end eval $fish_browser $page_url end diff --git a/doc_src/lynx.lss b/share/lynx.lss similarity index 100% rename from doc_src/lynx.lss rename to share/lynx.lss From 281be31eb36f08c6dbda935a5a28c64cb2b1feaf Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 15:21:01 -0500 Subject: [PATCH 069/110] Updated changelog with info about all new and updated completions since 2.6.0 --- CHANGELOG.md | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 571d20f14..b7e45867c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,14 +30,36 @@ - Fix regression involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` (#4196). - Option completion for `apt list` now works properly (#4350). - Added completions for: - - `as` (#4130). - - `jest` (#4142). + - `as` (#4130) + - `cdh` (#2847) + - `dhcpd` + - `ezjail-admin` (#4324) + - `fab` (fabric, #4153) + - `grub-file` (#4119) + - `grub-install` (#4119) + - `jest` (#4142) + - `kde-complete` + - `magneto` (#4043, #4108) + - `mdadm` (#4198) + - `s3cmd` (#4332) - `sbt` (#4347) - - `subl` (Sublime Text 3 editor, #4277) - `snap` (#4215) + - `subl` (Sublime Text 3 editor, #4277) + - Improved completions for: + - `apt` + - `cd` (#4061) - `composer` (#4295) + - `git` (#4117, #4368, #4147) + - `gphoto2` + - `killall` (#4052) + - `ln` + - `npm` (#4241) + - `ssh` (#4377) + - `tail` - `xdg-mime` (#4333) + - `zypper` (#4325) + --- @@ -80,7 +102,7 @@ If you are upgrading from version 2.5.0 or before, please also review the releas - `status` supports a new `current-function` subcommand to print the current function name (#1743). - `string` supports a new `repeat` subcommand (#3864). `string match` supports a new `--entire` option to emit the entire line matched by a pattern (#3957). `string replace` supports a new `--filter` option to only emit lines which underwent a replacement (#3348). - `test` supports the `-k` option to test for sticky bits (#733). -- `umask` understands symbolic modes (#738). +- `umask` understands symbolic modes (#738). - Empty components in the `CDPATH`, `MANPATH` and `PATH` variables are now converted to "." (#2106, #3914). - New versions of ncurses (6.0 and up) wipe terminal scrollback buffers with certain commands; the `C-l` binding tries to avoid this (#2855). - Some systems' `su` implementations do not set the `USER` environment variable; it is now reset for root users (#3916). From 6366a67c2141ce81cc74e787750ca41064a44414 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 15:36:37 -0500 Subject: [PATCH 070/110] fixup! Updated changelog with info about all new and updated completions since 2.6.0 --- CHANGELOG.md | 54 ++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7e45867c..f408cec73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,35 +30,35 @@ - Fix regression involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` (#4196). - Option completion for `apt list` now works properly (#4350). - Added completions for: - - `as` (#4130) - - `cdh` (#2847) - - `dhcpd` - - `ezjail-admin` (#4324) - - `fab` (fabric, #4153) - - `grub-file` (#4119) - - `grub-install` (#4119) - - `jest` (#4142) - - `kde-complete` - - `magneto` (#4043, #4108) - - `mdadm` (#4198) - - `s3cmd` (#4332) - - `sbt` (#4347) - - `snap` (#4215) - - `subl` (Sublime Text 3 editor, #4277) + - `as` (#4130) + - `cdh` (#2847) + - `dhcpd` + - `ezjail-admin` (#4324) + - `fab` (fabric, #4153) + - `grub-file` (#4119) + - `grub-install` (#4119) + - `jest` (#4142) + - `kde-complete` + - `magneto` (#4043, #4108) + - `mdadm` (#4198) + - `s3cmd` (#4332) + - `sbt` (#4347) + - `snap` (#4215) + - `subl` (Sublime Text 3 editor, #4277) - Improved completions for: - - `apt` - - `cd` (#4061) - - `composer` (#4295) - - `git` (#4117, #4368, #4147) - - `gphoto2` - - `killall` (#4052) - - `ln` - - `npm` (#4241) - - `ssh` (#4377) - - `tail` - - `xdg-mime` (#4333) - - `zypper` (#4325) + - `apt` + - `cd` (#4061) + - `composer` (#4295) + - `git` (#4117, #4368, #4147) + - `gphoto2` + - `killall` (#4052) + - `ln` + - `npm` (#4241) + - `ssh` (#4377) + - `tail` + - `xdg-mime` (#4333) + - `zypper` (#4325) --- From e031d91c19a644e628862676f8735307c1cf270e Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 15:49:59 -0500 Subject: [PATCH 071/110] fixup! Updated changelog with info about all new and updated completions since 2.6.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f408cec73..8a069efb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,7 @@ - `apt` - `cd` (#4061) - `composer` (#4295) - - `git` (#4117, #4368, #4147) + - `git` (#4117, #4147, #4329, #4368) - `gphoto2` - `killall` (#4052) - `ln` From fb252e6e1087ba7c8cae2a5d6b3a4e5fb33de65b Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Tue, 26 Sep 2017 15:52:23 -0500 Subject: [PATCH 072/110] CHANGELOG.md: kdeconnect-cli, not kdecomplete --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a069efb0..b3967b609 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ - `grub-file` (#4119) - `grub-install` (#4119) - `jest` (#4142) - - `kde-complete` + - `kdeconnect-cli` - `magneto` (#4043, #4108) - `mdadm` (#4198) - `s3cmd` (#4332) From c6fe65bad33c8b988032e40e8fab78f735ab4687 Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Fri, 29 Sep 2017 14:05:20 -0700 Subject: [PATCH 073/110] Make italics/dim work on MacOS Work around ancient terminfo on MacOS by hard-coding the correct escapes. Fixes #4436. --- src/builtin_set_color.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/builtin_set_color.cpp b/src/builtin_set_color.cpp index a4a5d12fc..b6d9e12bd 100644 --- a/src/builtin_set_color.cpp +++ b/src/builtin_set_color.cpp @@ -61,11 +61,32 @@ static const struct woption long_options[] = {{L"background", required_argument, {L"print-colors", no_argument, NULL, 'c'}, {NULL, 0, NULL, 0}}; +#if __APPLE__ +char sitm_esc[] = "\e[3m"; +char ritm_esc[] = "\e[23m"; +char dim_esc[] = "\e[2m"; +#endif + /// set_color builtin. int builtin_set_color(parser_t &parser, io_streams_t &streams, wchar_t **argv) { // By the time this is called we should have initialized the curses subsystem. assert(curses_initialized); + // Hack in missing italics and dim capabilities omitted from MacOS xterm-256color terminfo + // Helps Terminal.app/iTerm + #if __APPLE__ + const auto term_prog = env_get(L"TERM_PROGRAM"); + if (!term_prog.missing_or_empty() && (term_prog->as_string() == L"Apple_Terminal" + || term_prog->as_string() == L"iTerm.app")) { + const auto term = env_get(L"TERM"); + if (!term.missing_or_empty() && (term->as_string() == L"xterm-256color")) { + enter_italics_mode = sitm_esc; + exit_italics_mode = ritm_esc; + enter_dim_mode = dim_esc; + } + } + #endif + // Variables used for parsing the argument list. wchar_t *cmd = argv[0]; int argc = builtin_count_args(argv); From 73b4efb65b322a04f5e6b25522709edfadf24d2d Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Tue, 26 Sep 2017 13:32:57 -0700 Subject: [PATCH 074/110] install linx.lss with Xcode project --- fish.xcodeproj/project.pbxproj | 4 ++++ fish.xcodeproj/xcshareddata/xcschemes/base.xcscheme | 2 ++ fish.xcodeproj/xcshareddata/xcschemes/install_tree.xcscheme | 2 ++ 3 files changed, 8 insertions(+) diff --git a/fish.xcodeproj/project.pbxproj b/fish.xcodeproj/project.pbxproj index bb42b7082..c62ebab7f 100644 --- a/fish.xcodeproj/project.pbxproj +++ b/fish.xcodeproj/project.pbxproj @@ -117,6 +117,7 @@ 9C7A557D1DCD71890049C25D /* fish_key_reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A557C1DCD717C0049C25D /* fish_key_reader.cpp */; }; 9C7A557E1DCD71CD0049C25D /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; }; 9C7A55811DCD739C0049C25D /* fish_key_reader in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9C7A55721DCD71330049C25D /* fish_key_reader */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 9CC8D8C51F7AF0D40095062A /* lynx.lss in Copy Files */ = {isa = PBXBuildFile; fileRef = 9CC8D8C41F7AF0610095062A /* lynx.lss */; }; CB0F034C1F156FE3001827D3 /* builtin_argparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB0F034A1F156FE3001827D3 /* builtin_argparse.cpp */; }; CB0F034D1F156FE3001827D3 /* builtin_argparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB0F034A1F156FE3001827D3 /* builtin_argparse.cpp */; }; CB0F034E1F156FE3001827D3 /* builtin_argparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB0F034A1F156FE3001827D3 /* builtin_argparse.cpp */; }; @@ -602,6 +603,7 @@ dstPath = "${INSTALL_PATH}/share/fish"; dstSubfolderSpec = 0; files = ( + 9CC8D8C51F7AF0D40095062A /* lynx.lss in Copy Files */, D07D267215E34171009E43F6 /* config.fish in Copy Files */, D07D266C15E33B86009E43F6 /* completions in Copy Files */, D07D266D15E33B86009E43F6 /* functions in Copy Files */, @@ -650,6 +652,7 @@ 63A2C0E81CC5F9FB00973404 /* pcre2_find_bracket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre2_find_bracket.c; sourceTree = ""; }; 9C7A55721DCD71330049C25D /* fish_key_reader */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish_key_reader; sourceTree = BUILT_PRODUCTS_DIR; }; 9C7A557C1DCD717C0049C25D /* fish_key_reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fish_key_reader.cpp; sourceTree = ""; }; + 9CC8D8C41F7AF0610095062A /* lynx.lss */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = lynx.lss; path = share/lynx.lss; sourceTree = ""; }; CB0F034A1F156FE3001827D3 /* builtin_argparse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_argparse.cpp; sourceTree = ""; }; CB0F034B1F156FE3001827D3 /* builtin_argparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = builtin_argparse.h; sourceTree = ""; }; CBB7725B1F14964100780A21 /* fish-shell */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "fish-shell"; sourceTree = ""; }; @@ -1160,6 +1163,7 @@ D0D02AAB15985C14008E62BD /* Resources */ = { isa = PBXGroup; children = ( + 9CC8D8C41F7AF0610095062A /* lynx.lss */, D0879AC616BF9A1A00E98E56 /* fish_term_icon.icns */, D07B247215BCC15700D4ADB4 /* add-shell */, D0CBD586159EF0E10024809C /* launch_fish.scpt */, diff --git a/fish.xcodeproj/xcshareddata/xcschemes/base.xcscheme b/fish.xcodeproj/xcshareddata/xcschemes/base.xcscheme index ec2aea8ad..d05da718f 100644 --- a/fish.xcodeproj/xcshareddata/xcschemes/base.xcscheme +++ b/fish.xcodeproj/xcshareddata/xcschemes/base.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" shouldUseLaunchSchemeArgsEnv = "YES"> @@ -36,6 +37,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/fish.xcodeproj/xcshareddata/xcschemes/install_tree.xcscheme b/fish.xcodeproj/xcshareddata/xcschemes/install_tree.xcscheme index ee70483d2..c9421426c 100644 --- a/fish.xcodeproj/xcshareddata/xcschemes/install_tree.xcscheme +++ b/fish.xcodeproj/xcshareddata/xcschemes/install_tree.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" shouldUseLaunchSchemeArgsEnv = "YES"> @@ -36,6 +37,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" From 7b5f1f018b18c04d0f0de5ce6a5c56671404ae5c Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Fri, 29 Sep 2017 15:42:11 -0700 Subject: [PATCH 075/110] Revert "Make italics/dim work on MacOS" This reverts commit c6fe65bad33c8b988032e40e8fab78f735ab4687. --- src/builtin_set_color.cpp | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/src/builtin_set_color.cpp b/src/builtin_set_color.cpp index b6d9e12bd..a4a5d12fc 100644 --- a/src/builtin_set_color.cpp +++ b/src/builtin_set_color.cpp @@ -61,32 +61,11 @@ static const struct woption long_options[] = {{L"background", required_argument, {L"print-colors", no_argument, NULL, 'c'}, {NULL, 0, NULL, 0}}; -#if __APPLE__ -char sitm_esc[] = "\e[3m"; -char ritm_esc[] = "\e[23m"; -char dim_esc[] = "\e[2m"; -#endif - /// set_color builtin. int builtin_set_color(parser_t &parser, io_streams_t &streams, wchar_t **argv) { // By the time this is called we should have initialized the curses subsystem. assert(curses_initialized); - // Hack in missing italics and dim capabilities omitted from MacOS xterm-256color terminfo - // Helps Terminal.app/iTerm - #if __APPLE__ - const auto term_prog = env_get(L"TERM_PROGRAM"); - if (!term_prog.missing_or_empty() && (term_prog->as_string() == L"Apple_Terminal" - || term_prog->as_string() == L"iTerm.app")) { - const auto term = env_get(L"TERM"); - if (!term.missing_or_empty() && (term->as_string() == L"xterm-256color")) { - enter_italics_mode = sitm_esc; - exit_italics_mode = ritm_esc; - enter_dim_mode = dim_esc; - } - } - #endif - // Variables used for parsing the argument list. wchar_t *cmd = argv[0]; int argc = builtin_count_args(argv); From 417be25c69c39e3c26b8dc027f4ba239055a516b Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Sun, 1 Oct 2017 01:08:10 -0700 Subject: [PATCH 076/110] Fix `export` returning 1 on success Fixes #4435 (cherry picked from commit 1ef310c3a8061eb1ac2d6c54198b4961294013f0) --- share/functions/export.fish | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/functions/export.fish b/share/functions/export.fish index d0d1bbb2b..d51a3f557 100644 --- a/share/functions/export.fish +++ b/share/functions/export.fish @@ -13,6 +13,8 @@ function export --description 'Set env variable. Alias for `set -gx` for bash co set -l colonized_path (string replace -- "$$v[1]" (string join ":" -- $$v[1]) $v[2]) set -gx $v[1] (string split ":" -- $colonized_path) else + # status is 1 from the contains check, and `set` does not change the status on success: reset it. + true set -gx $v[1] $v[2] end end From 2193ddbb6b689a2050c569dd09b3291f8f3a788c Mon Sep 17 00:00:00 2001 From: PenegalECI Date: Fri, 29 Sep 2017 13:01:48 +0200 Subject: [PATCH 077/110] Globally improved french translations (#4372) * Globally improved french translations * Corrected translations following comments --- po/fr.po | 2991 +++++++++++++++++++++++++++--------------------------- 1 file changed, 1503 insertions(+), 1488 deletions(-) diff --git a/po/fr.po b/po/fr.po index 4246a2f06..b8f87e95d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,22 +2,21 @@ # FRENCH TRANSLATION FOR FISH # Copyright (C) 2006 Xavier Douville # This file is distributed under the GNU General Public License, version 2 or later. -# Xavier Douville , 2006. +# Xavier Douville , 2006, 2017. # msgid "" msgstr "" "Project-Id-Version: 1.2.8POT-Creation-Date: 2006-07-10 13:44-0400\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-02 22:50-0700\n" -"PO-Revision-Date: 2006-07-25 20:16-0400\n" +"PO-Revision-Date: 2017-09-01 17:01+0200\n" "Last-Translator: Xavier Douville \n" "Language-Team: Français \n" -"Language: \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.10.2\n" -"X-Poedit-Language: French\n" +"X-Generator: Gtranslator 2.91.7\n" #: src/autoload.cpp:101 #, fuzzy, c-format @@ -85,7 +84,7 @@ msgstr "%s: Aucune description pour le type %s\n" #: src/builtin.cpp:559 #, c-format msgid "%ls: No binding found for sequence '%ls'\n" -msgstr "Aucune description trouvée pour la séquence '%ls'\n" +msgstr "%ls: Aucune description trouvée pour la séquence '%ls'\n" #: src/builtin.cpp:582 #, fuzzy, c-format @@ -167,8 +166,7 @@ msgstr "%ls: Signal inconnu '%ls'" #, fuzzy, c-format msgid "%ls: Cannot find calling job for event handler" msgstr "" -"%ls: Impossible de trouver la tâche parente pour le gestionnaire " -"d'événements" +"%ls: Impossible de trouver la tâche parente pour le gestionnaire d'événements" #: src/builtin.cpp:1683 #, fuzzy, c-format @@ -193,7 +191,7 @@ msgstr "%ls: L'argument '%ls' doit être un entier\n" #: src/builtin.cpp:2212 #, c-format msgid "%ls: You can't specify both -p and -P\n" -msgstr "" +msgstr "%ls: Vous ne pouvez utiliser à la fois -p et -P\n" #: src/builtin.cpp:2240 #, fuzzy, c-format @@ -207,6 +205,7 @@ msgstr "" #, c-format msgid "you cannot do both '%ls' and '%ls' in the same invocation" msgstr "" +"vous ne pouvez utiliser à la fois '%ls' et '%ls' dans la même invocation" #: src/builtin.cpp:2541 msgid "This is a login shell\n" @@ -364,6 +363,7 @@ msgstr "%ls: Tâche inconnue: '%ls'\n" #, c-format msgid "%ls: job %d ('%ls') was stopped and has been signalled to continue.\n" msgstr "" +"%ls: la tâche %d ('%ls') a été arrêtée et a reçu un signal pour continuer.\n" #: src/builtin.cpp:3129 #, c-format @@ -378,7 +378,7 @@ msgstr "%ls: À l'extérieur de la fonction\n" #: src/builtin.cpp:3234 #, c-format msgid "%ls: you cannot use any options with the %ls command\n" -msgstr "" +msgstr "%ls: vous ne pouvez utiliser aucune option avec la commande %ls\n" #: src/builtin.cpp:3344 src/builtin.cpp:3380 #, fuzzy, c-format @@ -387,11 +387,11 @@ msgstr "%ls: La valeur germe '%ls' n'est pas un nombre valide\n" #: src/builtin.cpp:3423 msgid "builtin history delete only supports --exact\n" -msgstr "" +msgstr "la commande interne history delete ne supporte que --exact\n" #: src/builtin.cpp:3429 msgid "builtin history delete only supports --case-sensitive\n" -msgstr "" +msgstr "la commande interne history delete ne supporte que --case-sensitive\n" #: src/builtin.cpp:3553 #, fuzzy, c-format @@ -565,7 +565,7 @@ msgstr "Lire une ligne d'entrée dans des variables" #: src/builtin.cpp:3612 msgid "Convert path to absolute path without symlinks" -msgstr "" +msgstr "Convertir le chemin en chemin absolu sans lien symbolique" #: src/builtin.cpp:3613 msgid "Stop the currently evaluated function" @@ -589,7 +589,7 @@ msgstr "Retourner l'information sur l'état de fish" #: src/builtin.cpp:3618 msgid "Manipulate strings" -msgstr "" +msgstr "Manipuler les chaînes" #: src/builtin.cpp:3621 msgid "Return a successful result" @@ -667,7 +667,7 @@ msgstr "Manque un nombre hexadecimal dans l'échappement Unicode" #: src/builtin_printf.cpp:400 #, c-format msgid "Unicode character out of range: \\%c%0*x" -msgstr "Caractère unicode hors limite" +msgstr "Caractère Unicode hors limite: \\%c%0*x" #: src/builtin_printf.cpp:646 #, c-format @@ -772,7 +772,7 @@ msgstr "%s: Compilation impossible de l'expression régulière\n" #: src/builtin_string.cpp:570 msgid "--enter and --index are mutually exclusive" -msgstr "" +msgstr "--enter et --index sont mutuellement exclusifs" #: src/builtin_string.cpp:743 #, fuzzy, c-format @@ -826,24 +826,27 @@ msgstr "%ls: Nom de variable invalide '%ls'\n" #: src/common.cpp:1351 msgid "Current terminal parameters have rows and/or columns set to zero." -msgstr "" +msgstr "Le terminal courant a zéro lignes ou colonnes." #: src/common.cpp:1352 msgid "" "The stty command can be used to correct this (e.g., stty rows 80 columns 24)." msgstr "" +"La commande stty peut être utilisée pour corriger cela (par ex., stty rows " +"80 colums 24)." #: src/common.cpp:1374 msgid "Current terminal parameters set terminal size to unreasonable value." -msgstr "" +msgstr "Le terminal courant a un nombre déraisonnable de lignes ou colonnes." #: src/common.cpp:1375 msgid "Defaulting terminal size to 80x24." -msgstr "" +msgstr "Utilisation par défaut de 80x24 comme dimensions du terminal." #: src/common.cpp:1580 +#, fuzzy msgid "This is a bug. Break on bugreport to debug." -msgstr "" +msgstr "Ceci est un bogue. Utilisez bugreport pour déboguer." #: src/common.cpp:1581 #, fuzzy, c-format @@ -872,12 +875,12 @@ msgstr "Impossible de dépiler une pile d'environnement vide" #: src/env.cpp:522 #, c-format msgid "Using fallback terminal type '%s'." -msgstr "" +msgstr "Utilisation du terminal de type '%s' par défaut." #: src/env.cpp:527 -#, c-format +#, fuzzy, c-format msgid "Could not set up terminal using the fallback terminal type '%s'." -msgstr "" +msgstr "Impossible d’utiliser un terminal de type '%s' défini par défaut." #: src/env.cpp:558 #, fuzzy @@ -903,6 +906,8 @@ msgstr "Vérifiez que votre type de terminal '%ls' est supporté sur ce système msgid "" "Could not determine current working directory. Is your locale set correctly?" msgstr "" +"Impossible de déterminer le répertoire de travail. Vos paramètres " +"linguistiques sont-ils corrects?" #: src/env_universal_common.cpp:484 #, fuzzy, c-format @@ -912,7 +917,7 @@ msgstr "Nom de variable invalide '%ls'" #: src/env_universal_common.cpp:504 #, c-format msgid "Unable to rename file from '%ls' to '%ls': %s" -msgstr "" +msgstr "Impossible de renommer le fichier '%ls' en '%ls': %s" #: src/env_universal_common.cpp:556 #, fuzzy, c-format @@ -923,6 +928,8 @@ msgstr "Nom de variable invalide '%ls'" #, c-format msgid "Locking the universal var file took too long (%.3f seconds)." msgstr "" +"Le verrouillage du fichier des variables universel a pris trop de temps " +"(%.3f secondes)." #: src/env_universal_common.cpp:618 #, fuzzy, c-format @@ -930,24 +937,27 @@ msgid "Unable to open universal variable file '%ls': %s" msgstr "Nom de variable invalide '%ls'" #: src/env_universal_common.cpp:993 -#, c-format +#, fuzzy, c-format msgid "Unable to open shared memory with path '%s': %s" -msgstr "" +msgstr "Impossible d’ouvrir la mémoire partagée avec le chemin '%s': %s" #: src/env_universal_common.cpp:1003 -#, c-format +#, fuzzy, c-format msgid "Unable to fstat shared memory object with path '%s': %s" msgstr "" +"Impossible d’utiliser fstat sur la mémoire partagée de l’objet avec le " +"chemin '%s': %s" #: src/env_universal_common.cpp:1014 -#, c-format +#, fuzzy, c-format msgid "Unable to truncate shared memory object with path '%s': %s" -msgstr "" +msgstr "Impossible de tronquer la mémoire partagée avec le chemin '%s': %s" #: src/env_universal_common.cpp:1024 -#, c-format +#, fuzzy, c-format msgid "Unable to memory map shared memory object with path '%s': %s" msgstr "" +"Impossible de mapper en mémoire partagée l’objet avec le chemin '%s': %s" #: src/env_universal_common.cpp:1419 #, fuzzy, c-format @@ -1057,7 +1067,7 @@ msgstr "Dernière tâche mise en arrière-plan" #: src/expand.cpp:400 #, c-format msgid "Unexpected failure to convert pid '%ls' to integer\n" -msgstr "" +msgstr "Erreur inopinée lors de la conversion du PID '%ls' en nombre entier\n" #: src/expand.cpp:997 msgid "Mismatched brackets" @@ -1065,7 +1075,7 @@ msgstr "Les crochets ne concordent pas" #: src/fish.cpp:235 src/fish_indent.cpp:376 msgid "getopt_long() unexpectedly returned zero\n" -msgstr "" +msgstr "getopt_long() a inopinément renvoyé zéro\n" #: src/fish.cpp:253 src/fish_indent.cpp:420 #, fuzzy, c-format @@ -1104,11 +1114,14 @@ msgid "" "\n" " $ %ls -w foo.fish\n" msgstr "" +"Chemin de fichier à lire ou écrire attendu pour -w:\n" +"\n" +" $ %ls -w foo.fish\n" #: src/fish_indent.cpp:466 src/fish_indent.cpp:496 #, c-format msgid "Opening \"%s\" failed: %s\n" -msgstr "" +msgstr "L’ouverture de \"%s\" a échoué: %s\n" #: src/fish_indent.cpp:470 #, fuzzy @@ -1118,7 +1131,7 @@ msgstr "%s: Trop d'arguments\n" #: src/fish_key_reader.cpp:240 #, c-format msgid "signal #%d (%ls) received\n" -msgstr "" +msgstr "signal #%d (%ls) reçu\n" #: src/fish_key_reader.cpp:312 #, fuzzy, c-format @@ -1134,6 +1147,7 @@ msgstr "Valeur '%s' invalide comme interrupteur au niveau de débogage\n" #, c-format msgid "Locking the history file took too long (%.3f seconds)." msgstr "" +"Le verrouillage du fichier d’historique a pris trop de temps (%.3f secondes)." #: src/io.cpp:57 #, fuzzy, c-format @@ -1147,6 +1161,9 @@ msgid "" "Tried to use terminfo string %s on line %ld of %s, which is undefined in " "terminal of type \"%ls\". Please report this error to %s" msgstr "" +"Tentative d’utilisation de la chaîne terminfo %s échouée à la ligne %ld de " +"%s, car elle est indéfinie pour un terminal de type \"%ls\". Veuillez " +"signaler cette erreur à %s" #: src/pager.cpp:40 #, fuzzy @@ -1179,11 +1196,13 @@ msgid "" "Variables may not be used as commands. In fish, please define a function or " "use 'eval %ls'." msgstr "" +"Les variables ne doivent pas être utilisées comme des commandes. Dans fish, " +"veuillez définir une fonction ou utiliser 'eval %ls'." #: src/parse_execution.cpp:776 #, c-format msgid "The file '%ls' is not executable by this user" -msgstr "Le fichier '%ls' n'est pas executable par cet utilisateur" +msgstr "Le fichier '%ls' n’est pas exécutable par cet utilisateur" #: src/parse_execution.cpp:989 #, fuzzy, c-format @@ -1350,17 +1369,19 @@ msgstr "Erreur lors de la recherche de la commande '%ls'" #: src/path.cpp:233 #, c-format msgid "Unable to locate the %ls directory." -msgstr "" +msgstr "Impossible de localiser le dossier %ls." #: src/path.cpp:234 #, c-format msgid "Please set the %ls or HOME environment variable before starting fish." msgstr "" +"Veuillez définir la variable d’environnement %ls ou HOME avant de lancer " +"fish." #: src/path.cpp:238 #, c-format msgid "Unable to locate %ls directory derived from $%ls: '%ls'." -msgstr "" +msgstr "Impossible de localiser le dossier %ls obtenu de $%ls: '%ls'." #: src/path.cpp:240 #, fuzzy, c-format @@ -1371,19 +1392,21 @@ msgstr "Erreur d'analyseur lexical: '%ls'" #, c-format msgid "Please set $%ls to a directory where you have write access." msgstr "" +"Veuillez définir $%ls à un dossier dans lequel vous avez un accès en " +"écriture." #: src/path.cpp:292 msgid "Your personal settings will not be saved." -msgstr "" +msgstr "Vos paramètres personnels ne seront pas sauvegardés." #: src/path.cpp:307 msgid "Your history will not be saved." -msgstr "" +msgstr "Votre historique ne sera pas sauvegardé." #: src/proc.cpp:589 #, c-format msgid "Job %d, " -msgstr "" +msgstr "Tâche %d," #: src/proc.cpp:590 #, fuzzy, c-format @@ -1474,10 +1497,11 @@ msgstr "Pop null reader block" #: src/reader.cpp:2205 msgid "There are still jobs active (use the jobs command to see them).\n" msgstr "" +"Il y a encore des tâches actives (utilisez la commande jobs pour les voir).\n" #: src/reader.cpp:2206 msgid "A second attempt to exit will terminate them.\n" -msgstr "" +msgstr "Une seconde tentative d’arrêt les terminera.\n" #: src/reader.cpp:3199 #, c-format @@ -1657,8 +1681,9 @@ msgid "Unknown" msgstr "Inconnu" #: src/signal.cpp:417 +#, fuzzy msgid "Signal block mismatch" -msgstr "" +msgstr "Incohérence dans le blocage du signal" #: src/tokenizer.cpp:26 #, fuzzy @@ -1667,26 +1692,23 @@ msgstr "Fin de jeton inattendue" #: src/tokenizer.cpp:29 msgid "Unexpected end of string, parenthesis do not match" -msgstr "Fin de chaine inattendue, les parenthèses ne correspondent pas" +msgstr "Fin de chaîne inattendue: les parenthèses ne correspondent pas" #: src/tokenizer.cpp:32 msgid "Unexpected end of string, square brackets do not match" -msgstr "" +msgstr "Fin de chaîne inattendue: les crochets ne correspondent pas" #: src/tokenizer.cpp:35 -#, fuzzy msgid "Unexpected end of string, incomplete escape sequence" -msgstr "Fin de jeton inattendue" +msgstr "Fin de chaîne inattendue" #: src/tokenizer.cpp:38 -#, fuzzy msgid "Invalid input/output redirection" msgstr "Redirection invalide" #: src/tokenizer.cpp:41 -#, fuzzy msgid "Cannot use stdin (fd 0) as pipe output" -msgstr "Impossible d'utiliser fd 0 comme sortie de tube" +msgstr "Impossible d’utiliser l’entrée standard (fd 0) comme sortie de tube" #: src/wgetopt.cpp:318 #, c-format @@ -1786,7 +1808,7 @@ msgstr "Répertoire" #: src/wutil.cpp:147 #, c-format msgid "getcwd() failed with errno %d/%s" -msgstr "" +msgstr "getcwd() a échoué avec l’erreur %d/%s" #: src/builtin.h:38 #, fuzzy, c-format @@ -1866,6 +1888,8 @@ msgid "" "The function '%ls' calls itself immediately, which would result in an " "infinite loop." msgstr "" +"La fonction '%ls' s’appelle immédiatement, ce qui provoquerait une boucle " +"infinie." #: src/parse_constants.h:229 msgid "" @@ -1898,7 +1922,7 @@ msgstr "L'exécution du processus '%ls' a échoué" #: src/parse_constants.h:245 #, c-format msgid "Illegal file descriptor in redirection '%ls'" -msgstr "" +msgstr "Descripteur de fichier erroné dans la redirection '%ls'" #: src/parse_constants.h:248 #, fuzzy, c-format @@ -1931,49 +1955,57 @@ msgstr "$%lc est un nom de variable invalide." #, c-format msgid "Variables cannot be bracketed. In fish, please use {$%ls}." msgstr "" +"Les variables ne peuvent être placées entre crochets. Dans fish, veuillez " +"utiliser {$%ls}." #: src/parse_constants.h:269 #, c-format msgid "Variables cannot be bracketed. In fish, please use \"$%ls\"." msgstr "" +"Les variables ne peuvent être placées entre crochets. Dans fish, veuillez " +"utiliser \"$%ls\"." #: src/parse_constants.h:272 msgid "$? is not the exit status. In fish, please use $status." -msgstr "" +msgstr "$? n’est pas le code de retour. Dans fish, veuillez utiliser $status." #: src/parse_constants.h:275 #, c-format msgid "$$ is not the pid. In fish, please use %%self." -msgstr "" +msgstr "$$ n’est pas le PID. Dans fish, veuillez utiliser %%self." #: src/parse_constants.h:278 msgid "$# is not supported. In fish, please use 'count $argv'." -msgstr "" +msgstr "$? n’est pas supporté. Dans fish, veuillez utiliser 'count $argv'." #: src/parse_constants.h:281 msgid "$@ is not supported. In fish, please use $argv." -msgstr "" +msgstr "$@ n’est pas supporté. Dans fish, veuillez utiliser $argv." #: src/parse_constants.h:284 #, c-format msgid "$(...) is not supported. In fish, please use '(%ls)'." -msgstr "" +msgstr "$(...) n’est pas supporté. Dans fish, veuillez utiliser '(%ls)'." #: src/parse_constants.h:287 msgid "$* is not supported. In fish, please use $argv." -msgstr "" +msgstr "$* n’est pas supporté. Dans fish, veuillez utiliser $argv." #: src/parse_constants.h:290 msgid "Expected a variable name after this $." -msgstr "" +msgstr "Un nom de variable est attendu après un $." #: src/parse_constants.h:293 msgid "Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'." msgstr "" +"Usage de '||' non supporté. Dans fish, veuillez utiliser 'COMMANDE'; or " +"COMMANDE'." #: src/parse_constants.h:296 msgid "Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'." msgstr "" +"Usage de '&&' non supporté. Dans fish, veuillez utiliser 'COMMANDE'; and " +"COMMANDE'." #: src/parse_constants.h:300 #, c-format @@ -1981,24 +2013,24 @@ msgid "" "Unsupported use of '='. To run '%ls' with a modified environment, please use " "'env %ls=%ls %ls%ls'" msgstr "" +"Usage de '=' non supporté. Pour lancer '%ls' dans un environnement altéré, " +"veuillez utiliser 'env %ls=%ls %ls%ls'." #: src/parse_constants.h:305 #, c-format msgid "Unsupported use of '='. In fish, please use 'set %ls %ls'." -msgstr "" +msgstr "Usage de '=' non supporté. Dans fish, veuillez utiliser 'set %ls %ls'." #: /tmp/fish/explicit/share/completions/emerge.fish:1 #: /tmp/fish/explicit/share/completions/emerge.fish:4 -#, fuzzy msgid "All base system packages" -msgstr "Efface les paquets construits" +msgstr "Paquets systèmes de base" #: /tmp/fish/explicit/share/completions/emerge.fish:2 #: /tmp/fish/explicit/share/completions/emerge.fish:5 #: /tmp/fish/explicit/share/completions/emerge.fish:6 -#, fuzzy msgid "All packages in world" -msgstr "Synchroniser les paquets installés" +msgstr "Tous les paquets disponibles" #: /tmp/fish/explicit/share/completions/emerge.fish:3 #: /tmp/fish/implicit/share/completions/aura.fish:90 @@ -2009,21 +2041,21 @@ msgstr "Synchroniser les paquets installés" #: /tmp/fish/implicit/share/completions/pacman.fish:55 #: /tmp/fish/implicit/share/completions/yaourt.fish:69 #: /tmp/fish/implicit/share/completions/yaourt.fish:76 -#, fuzzy msgid "Installed package" -msgstr "Installer des paquets source" +msgstr "Paquets installés" #: /tmp/fish/explicit/share/completions/emerge.fish:7 +#, fuzzy msgid "Packages that are linked to preserved libs" -msgstr "" +msgstr "Paquets liés à des bibliothèques préservées" #: /tmp/fish/explicit/share/completions/emerge.fish:8 msgid "Packages that contain kernel modules" -msgstr "" +msgstr "Paquets contenant les modules noyau" #: /tmp/fish/explicit/share/completions/emerge.fish:9 msgid "Usage overview of emerge" -msgstr "" +msgstr "Aperçu de l’utilisation de emerge" #: /tmp/fish/explicit/share/completions/emerge.fish:10 msgid "Help on subject system" @@ -2038,60 +2070,52 @@ msgid "Help on subject sync" msgstr "" #: /tmp/fish/explicit/share/completions/emerge.fish:13 -#, fuzzy msgid "Use colors in output" -msgstr "Nommer le répertoire pour les fichiers de travail" +msgstr "Utiliser des couleurs sur la sortie" #: /tmp/fish/explicit/share/completions/emerge.fish:14 msgid "Don't use colors in output" -msgstr "" +msgstr "Ne pas utiliser des couleurs sur la sortie" #: /tmp/fish/explicit/share/completions/emerge.fish:15 -#, fuzzy msgid "Pull in build time dependencies" -msgstr "Afficher les dépendances de construction" +msgstr "Afficher les dépendances de compilation" #: /tmp/fish/explicit/share/completions/emerge.fish:16 -#, fuzzy msgid "Don't pull in build time dependencies" -msgstr "Afficher les dépendances de construction" +msgstr "Ne pas afficher les dépendances de compilation" #: /tmp/fish/explicit/share/completions/equery.fish:1 -#, fuzzy msgid "list all packages owning file(s)" -msgstr "Lister les dépendances inverses" +msgstr "lister les dépendances inverses" #: /tmp/fish/explicit/share/completions/equery.fish:2 msgid "check MD5sums and timestamps of package" -msgstr "" +msgstr "vérifier les sommes MD5 et les horodatages du paquet" #: /tmp/fish/explicit/share/completions/equery.fish:3 -#, fuzzy msgid "list all packages depending on specified package" -msgstr "Lister les dépendances inverses" +msgstr "lister les dépendances inverses" #: /tmp/fish/explicit/share/completions/equery.fish:4 -#, fuzzy msgid "display a dependency tree for package" -msgstr "Lister les dépendances du paquet" +msgstr "lister les dépendances du paquet" #: /tmp/fish/explicit/share/completions/equery.fish:5 -#, fuzzy msgid "list files owned by package" -msgstr "Désactiver le téléchargement de paquets" +msgstr "lister les fichiers fournis par le paquet" #: /tmp/fish/explicit/share/completions/equery.fish:6 msgid "list all packages with specified useflag" msgstr "" #: /tmp/fish/explicit/share/completions/equery.fish:7 -#, fuzzy msgid "list all packages matching pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "lister les paquets correspondant au motif" #: /tmp/fish/explicit/share/completions/equery.fish:8 msgid "print size of files contained in package" -msgstr "" +msgstr "afficher la liste des fichiers du paquet" #: /tmp/fish/explicit/share/completions/equery.fish:9 #, fuzzy @@ -2104,82 +2128,84 @@ msgstr "" #: /tmp/fish/explicit/share/completions/gem.fish:1 msgid "Build a gem from a gemspec" -msgstr "" +msgstr "Compiler une gemme à partir d’une gemspec" #: /tmp/fish/explicit/share/completions/gem.fish:2 msgid "Adjust RubyGems certificate settings" -msgstr "" +msgstr "Paramétrer les paramètres des certificats de RubyGems" #: /tmp/fish/explicit/share/completions/gem.fish:3 -#, fuzzy msgid "Check installed gems" -msgstr "Réinstaller les paquets" +msgstr "Vérifier les gemmes installées" #: /tmp/fish/explicit/share/completions/gem.fish:4 +#, fuzzy msgid "Cleanup old versions of installed gems in the local repository" msgstr "" +"Nettoyer les versions obsolètes des gemmes installées dans le dossier local" #: /tmp/fish/explicit/share/completions/gem.fish:5 msgid "Display the contents of the installed gems" -msgstr "" +msgstr "Afficher le contenu des gemmes installées" #: /tmp/fish/explicit/share/completions/gem.fish:6 msgid "Show the dependencies of an installed gem" -msgstr "" +msgstr "Afficher les dépendances d’une gemme installée" #: /tmp/fish/explicit/share/completions/gem.fish:7 msgid "Display RubyGems environmental information" -msgstr "" +msgstr "Afficher les informations sur l’environnement de RubyGems" #: /tmp/fish/explicit/share/completions/gem.fish:8 msgid "Provide help on the 'gem' command" -msgstr "" +msgstr "Fournir de l’aide sur la commande 'gem'" #: /tmp/fish/explicit/share/completions/gem.fish:9 -#, fuzzy msgid "Install a gem into the local repository" -msgstr "Appliquer les modifications au référentiel" +msgstr "Installer une gemme dans le dépôt local" #: /tmp/fish/explicit/share/completions/gem.fish:10 msgid "Display all gems whose name starts with STRING" -msgstr "" +msgstr "Afficher toutes les gemmes dont le nom commence par STRING" #: /tmp/fish/explicit/share/completions/gem.fish:11 msgid "Query gem information in local or remote repositories" -msgstr "" +msgstr "Demander les informations sur les gemmes des dépôts courant ou distant" #: /tmp/fish/explicit/share/completions/gem.fish:12 msgid "Generates RDoc for pre-installed gems" -msgstr "" +msgstr "Générer la documentation RDoc pour les gemmes préinstallées" #: /tmp/fish/explicit/share/completions/gem.fish:13 msgid "Display all gems whose name contains STRING" -msgstr "" +msgstr "Afficher toutes les gemmes dont le nom contient STRING" #: /tmp/fish/explicit/share/completions/gem.fish:14 msgid "Display gem specification (in yaml)" -msgstr "" +msgstr "Afficher les spécifications de la gemme (en YAML)" #: /tmp/fish/explicit/share/completions/gem.fish:15 -#, fuzzy msgid "Uninstall a gem from the local repository" -msgstr "Enlever un fichier du référentiel" +msgstr "Désinstaller une gemme du dépôt courant" #: /tmp/fish/explicit/share/completions/gem.fish:16 +#, fuzzy msgid "Unpack an installed gem to the current directory" -msgstr "" +msgstr "Déballer une gemme installée dans le répertoire courant" #: /tmp/fish/explicit/share/completions/gem.fish:17 msgid "Update the named gem (or all installed gems) in the local repository" msgstr "" +"Mettre à jour la gemme donnée (ou toutes les gemmes installées) dans le " +"dépôt local" #: /tmp/fish/explicit/share/completions/gem.fish:18 msgid "display the remote gem servers" -msgstr "" +msgstr "afficher les serveurs de gemmes distants" #: /tmp/fish/explicit/share/completions/gem.fish:19 msgid "show some examples of usage" -msgstr "" +msgstr "afficher quelques exemples d’utilisation" #: /tmp/fish/explicit/share/completions/launchctl.fish:1 msgid "Bootstraps a domain or a service into a domain" @@ -2380,7 +2406,7 @@ msgstr "Tester si apt doit se faire donner la sous-commande" #: /tmp/fish/explicit/share/completions/set.fish:1 msgid "Locale" -msgstr "" +msgstr "Locale" #: /tmp/fish/explicit/share/completions/telnet.fish:1 #: /tmp/fish/explicit/share/completions/telnet.fish:6 @@ -2479,7 +2505,6 @@ msgid "%s: abbreviation must have a value\\n" msgstr "" #: /tmp/fish/explicit/share/functions/abbr.fish:7 -#, fuzzy msgid "%s: abbreviation '%s' already exists, cannot rename\\n" msgstr "" @@ -2490,22 +2515,20 @@ msgid "%s: no such abbreviation '%s'\\n" msgstr "Fonction inconnue '%ls'" #: /tmp/fish/explicit/share/functions/alias.fish:1 -#, fuzzy msgid "%s: Expected one or two arguments, got %d\\n" msgstr "%s: Un argument attendu, %d obtenu(s)\\n" #: /tmp/fish/explicit/share/functions/alias.fish:2 -#, fuzzy msgid "%s: Name cannot be empty\\n" -msgstr "ls: Le nom de variable ne peut pas être une chaîne vide\\n" +msgstr "%s: Le nom de variable ne peut être une chaîne vide\\n" #: /tmp/fish/explicit/share/functions/alias.fish:3 msgid "%s: Body cannot be empty\\n" -msgstr "" +msgstr "%s: Le corps ne peut être une chaîne vide\\n" #: /tmp/fish/explicit/share/functions/cd.fish:1 msgid "Too many args for cd command" -msgstr "" +msgstr "Trop d’arguments pour la commande cd" #: /tmp/fish/explicit/share/functions/edit_command_buffer.fish:2 msgid "Please set VISUAL or EDITOR to your preferred editor." @@ -2525,7 +2548,7 @@ msgstr "" #: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:4 #: /tmp/fish/explicit/share/functions/__fish_complete_unrar.fish:1 msgid "%s\\tArchived file\\n" -msgstr "" +msgstr "%s\\tFichier archivé\\n" #: /tmp/fish/explicit/share/functions/__fish_config_interactive.fish:1 msgid "Welcome to fish, the friendly interactive shell" @@ -2533,7 +2556,6 @@ msgstr "Bienvenue dans fish, le shell amical et interactif" #: /tmp/fish/explicit/share/functions/fish_md5.fish:1 #: /tmp/fish/explicit/share/functions/fish_md5.fish:2 -#, fuzzy msgid "%s: Too many arguments %s\\n" msgstr "%s: Trop d'arguments %s\\n" @@ -2561,12 +2583,11 @@ msgstr "Paquet" #: /tmp/fish/explicit/share/functions/type.fish:1 #: /tmp/fish/explicit/share/functions/vared.fish:1 msgid "%s: Unknown option %s\\n" -msgstr "" +msgstr "%s: Option inconnue %s\\n" #: /tmp/fish/explicit/share/functions/funced.fish:2 -#, fuzzy msgid "funced: You must specify one function name" -msgstr "funced: Exactement un nom de fonction est attendu" +msgstr "funced: Vous devez préciser un nom de fonction" #: /tmp/fish/explicit/share/functions/funced.fish:4 msgid "Editing failed or was cancelled" @@ -2613,20 +2634,16 @@ msgid "help: Help is being displayed in %s.\\n" msgstr "" #: /tmp/fish/explicit/share/functions/history.fish:2 -#, fuzzy msgid "%ls: Invalid combination of options,\\n%ls\\n" -msgstr "" -"%ls: Combinaison d'options invalide,\\n" -"%ls\\n" +msgstr "%ls: Combinaison d’options invalide,\\n%ls\\n" #: /tmp/fish/explicit/share/functions/history.fish:3 msgid "%ls: you cannot use any options with the %ls command\\n" -msgstr "" +msgstr "%ls: vous ne pouvez utiliser d’option avec la commande %ls\\n" #: /tmp/fish/explicit/share/functions/history.fish:4 -#, fuzzy msgid "%ls: %ls expected %d args, got %d\\n" -msgstr "" +msgstr "%ls: %ls nécessitait %d arguments, %d obtenus\\n" #: /tmp/fish/explicit/share/functions/history.fish:5 msgid "You must specify at least one search term when deleting entries\\n" @@ -2683,27 +2700,24 @@ msgid "%s is a function with definition\\n" msgstr "" #: /tmp/fish/explicit/share/functions/type.fish:3 -#, fuzzy msgid "function" -msgstr "Fonction" +msgstr "fonction" #: /tmp/fish/explicit/share/functions/type.fish:4 msgid "%s is a builtin\\n" -msgstr "" +msgstr "%s est une commande interne\\n" #: /tmp/fish/explicit/share/functions/type.fish:5 -#, fuzzy msgid "builtin" -msgstr "Commande interne" +msgstr "commande interne" #: /tmp/fish/explicit/share/functions/type.fish:6 msgid "%s is %s\\n" -msgstr "" +msgstr "%s est %s\\n" #: /tmp/fish/explicit/share/functions/type.fish:7 -#, fuzzy msgid "file" -msgstr "Fichier de config" +msgstr "fichier" #: /tmp/fish/explicit/share/functions/type.fish:8 msgid "%s: Could not find '%s'\\n" @@ -2728,16 +2742,15 @@ msgstr "" #: /tmp/fish/implicit/share/config.fish:1 msgid "Update PATH when fish_user_paths changes" -msgstr "" +msgstr "Mettre à jour PATH lorsque fish_user_paths est modifiée" #: /tmp/fish/implicit/share/config.fish:2 msgid "Signal handler for the TRAP signal. Launches a debug prompt." -msgstr "" +msgstr "Gestionnaire de signal pour le signal TRAP. Lance une invite de débogage." #: /tmp/fish/implicit/share/config.fish:3 -#, fuzzy msgid "Evaluate contents of file (deprecated, see \"source\")" -msgstr "Évaluer le contenu d'un fichier" +msgstr "Évaluer le contenu d'un fichier (déprécié, voyez \"source\")" #: /tmp/fish/implicit/share/completions/a2disconf.fish:1 #: /tmp/fish/implicit/share/completions/a2dismod.fish:1 @@ -2746,37 +2759,35 @@ msgstr "Évaluer le contenu d'un fichier" #: /tmp/fish/implicit/share/completions/a2enmod.fish:1 #: /tmp/fish/implicit/share/completions/a2ensite.fish:1 msgid "Don't show informative messages" -msgstr "" +msgstr "Ne pas afficher de messages informatifs" #: /tmp/fish/implicit/share/completions/a2disconf.fish:2 #: /tmp/fish/implicit/share/completions/a2dismod.fish:2 #: /tmp/fish/implicit/share/completions/a2dissite.fish:2 msgid "Purge all traces of module" -msgstr "" +msgstr "Nettoyer toutes les traces du module" #: /tmp/fish/implicit/share/completions/abbr.fish:1 msgid "Add abbreviation" -msgstr "" +msgstr "Ajouter une abbréviation" #: /tmp/fish/implicit/share/completions/abbr.fish:2 msgid "Erase abbreviation" -msgstr "" +msgstr "Supprimer une abbréviation" #: /tmp/fish/implicit/share/completions/abbr.fish:3 -#, fuzzy msgid "Print all abbreviations" -msgstr "Afficher toutes les versions" +msgstr "Afficher toutes les abbréviations" #: /tmp/fish/implicit/share/completions/abbr.fish:4 -#, fuzzy msgid "Print all abbreviation names" -msgstr "Afficher tous les noms" +msgstr "Afficher tous les noms d’abbréviations" #: /tmp/fish/implicit/share/completions/abbr.fish:5 #: /tmp/fish/implicit/share/completions/iptables.fish:16 #: /tmp/fish/implicit/share/completions/zypper.fish:46 msgid "Help" -msgstr "" +msgstr "Aide" #: /tmp/fish/implicit/share/completions/abook.fish:1 #, fuzzy @@ -2784,13 +2795,12 @@ msgid "Show usage" msgstr "Afficher le paquet source" #: /tmp/fish/implicit/share/completions/abook.fish:2 -#, fuzzy msgid "Use an alternative configuration file" -msgstr "Spécifier un fichier de configuration" +msgstr "Spécifier un fichier de configuration alternatif" #: /tmp/fish/implicit/share/completions/abook.fish:3 msgid "Use an alternative addressbook file" -msgstr "" +msgstr "Spécifier un carnet d’adresses alternatif" #: /tmp/fish/implicit/share/completions/abook.fish:4 #, fuzzy @@ -3071,12 +3081,12 @@ msgstr "" #: /tmp/fish/implicit/share/completions/ls.fish:71 #: /tmp/fish/implicit/share/completions/ls.fish:72 msgid "Follow symlinks" -msgstr "" +msgstr "Suivre les liens symboliques" #: /tmp/fish/implicit/share/completions/ack.fish:52 #: /tmp/fish/implicit/share/completions/ls.fish:62 msgid "Don't follow symlinks" -msgstr "" +msgstr "Ne pas suivre les liens symboliques" #: /tmp/fish/implicit/share/completions/ack.fish:53 msgid "Include only recognized files" @@ -3123,9 +3133,8 @@ msgstr "Suivi de la sortie" #: /tmp/fish/implicit/share/completions/ack.fish:62 #: /tmp/fish/implicit/share/completions/udisksctl.fish:1 #: /tmp/fish/implicit/share/completions/udisksctl.fish:2 -#, fuzzy msgid "Shows help" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/ack.fish:63 #, fuzzy @@ -3163,61 +3172,57 @@ msgid "The warning admiral" msgstr "" #: /tmp/fish/implicit/share/completions/acpi.fish:1 -#, fuzzy msgid "Show battery information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Afficher les informations de la batterie" #: /tmp/fish/implicit/share/completions/acpi.fish:2 -#, fuzzy msgid "Suppress battery information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Masquer les informations de la batterie" #: /tmp/fish/implicit/share/completions/acpi.fish:3 -#, fuzzy msgid "Show thermal information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Afficher les informations de température" #: /tmp/fish/implicit/share/completions/acpi.fish:4 -#, fuzzy msgid "Suppress thermal information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Masquer les informations de température" #: /tmp/fish/implicit/share/completions/acpi.fish:5 -#, fuzzy msgid "Show ac adapter information" -msgstr "Afficher les infos du paquet" +msgstr "Afficher les informations du chargeur" #: /tmp/fish/implicit/share/completions/acpi.fish:6 msgid "Suppress ac-adapter information" -msgstr "" +msgstr "Masquer les informations du chargeur" #: /tmp/fish/implicit/share/completions/acpi.fish:7 msgid "Show every device, overrides above options" msgstr "" +"Afficher tous les périphériques, en ignorant les paramétrages précédents" #: /tmp/fish/implicit/share/completions/acpi.fish:8 msgid "Show non-operational devices" -msgstr "" +msgstr "Afficher les périphériques inopérants" #: /tmp/fish/implicit/share/completions/acpi.fish:9 msgid "Hide non-operational devices" -msgstr "" +msgstr "Masquer les périphériques inopérants" #: /tmp/fish/implicit/share/completions/acpi.fish:10 msgid "Use celcius as the temperature unit" -msgstr "" +msgstr "Utiliser des degrés Celsius" #: /tmp/fish/implicit/share/completions/acpi.fish:11 msgid "Use fahrenheit as the temperature unit" -msgstr "" +msgstr "Utiliser des degrés Fahrenheit" #: /tmp/fish/implicit/share/completions/acpi.fish:12 msgid "Use kelvin as the temperature unit" -msgstr "" +msgstr "Utiliser des degrés Kelvin" #: /tmp/fish/implicit/share/completions/acpi.fish:13 msgid " path to ACPI info (/proc/acpi)" -msgstr "" +msgstr " chemin vers les informations ACPI (/proc/acpi)" #: /tmp/fish/implicit/share/completions/acpi.fish:14 #: /tmp/fish/implicit/share/completions/and.fish:1 @@ -3344,7 +3349,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/zcat.fish:2 #: /tmp/fish/implicit/share/completions/zip.fish:30 msgid "Display help and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/acpi.fish:15 #: /tmp/fish/implicit/share/completions/dmesg.fish:17 @@ -3356,14 +3361,13 @@ msgstr "Afficher l'aide et quitter" #: /tmp/fish/implicit/share/completions/timeout.fish:5 #: /tmp/fish/implicit/share/completions/watch.fish:12 #: /tmp/fish/implicit/share/completions/xgettext.fish:39 -#, fuzzy msgid "Output version information and exit" -msgstr "Afficher l'historique d'un module" +msgstr "Afficher les informations de version et quitter" #: /tmp/fish/implicit/share/completions/adb.fish:1 #, fuzzy msgid "Test if adb has yet to be given the subcommand" -msgstr "Tester si apt doit se faire donner la sous-commande" +msgstr "Tester si adb doit encore se faire donner la sous-commande" #: /tmp/fish/implicit/share/completions/adb.fish:2 msgid "Run adb devices and parse output" @@ -3641,17 +3645,19 @@ msgstr "" #: /tmp/fish/implicit/share/completions/apt-cdrom.fish:11 #: /tmp/fish/implicit/share/completions/apt-config.fish:5 msgid "Specify config file" -msgstr "Spécifier le fichier de config" +msgstr "Spécifier le fichier de configuration" #: /tmp/fish/implicit/share/completions/adduser.fish:2 msgid "Do not run passwd to set the password" -msgstr "" +msgstr "Ne pas exécuter passwd pour paramétrer le mot de passe" #: /tmp/fish/implicit/share/completions/adduser.fish:3 msgid "" "Like --disabled-login, but logins are still possible (for example using SSH " "RSA keys) but not using password authentication" msgstr "" +"Comme --disabled-login, mais les connexions sans mot de passe restent " +"possibles, par exemple avec une clé RSA SSH" #: /tmp/fish/implicit/share/completions/adduser.fish:4 msgid "" @@ -3659,85 +3665,103 @@ msgid "" "regular expression NAME_REGEX (or NAME_REGEX if --system is specified) " "specified in the configuration file" msgstr "" +"Par défaut, les noms d’utilisateur et de groupe sont confrontés à " +"l’expression régulière configurable NAME_REGEX (ou NAME_REGEX si --system " +"est utilisée) précisée dans le fichier de configuration" #: /tmp/fish/implicit/share/completions/adduser.fish:5 msgid "Set the gecos field for the new entry generated" -msgstr "" +msgstr "Paramétrer le champ gecos pour l’entrée ajoutée" #: /tmp/fish/implicit/share/completions/adduser.fish:6 msgid "" "When creating a group, this option forces the new groupid to be the given " "number" -msgstr "" +msgstr "Quand un groupe est créé, cette option force le GID à la valeur donnée" #: /tmp/fish/implicit/share/completions/adduser.fish:7 +#, fuzzy msgid "" "When combined with --system, a group with the same name and ID as the system " "user is created" msgstr "" +"Si combiné avec --system, un groupe du même nom et ID que l’utilisateur " +"système est créé" #: /tmp/fish/implicit/share/completions/adduser.fish:8 -#, fuzzy msgid "Display brief instructions" -msgstr "Instruction illégale" +msgstr "Afficher de brèves instructions" #: /tmp/fish/implicit/share/completions/adduser.fish:9 msgid "Use specified directory as the user's home directory" msgstr "" +"Utiliser le répertoire donné en paramètre comme répertoire personnel de " +"l’utilisateur" #: /tmp/fish/implicit/share/completions/adduser.fish:10 msgid "" "Use shell as the user's login shell, rather than the default specified by " "the configuration file" msgstr "" +"Utiliser cette invite comme shell de connexion de l’utilisateur, au lieu de " +"celui donné par le fichier de configuration" #: /tmp/fish/implicit/share/completions/adduser.fish:11 msgid "" "Add the new user to GROUP instead of a usergroup or the default group " "defined by USERS_GID in the configuration file" msgstr "" +"Ajouter le nouvel utilisateur à GROUP plutôt qu’un un groupe, ou au groupe " +"par défaut, défini par USERS_GID dans le fichier de configuration" #: /tmp/fish/implicit/share/completions/adduser.fish:12 msgid "Do not create the home directory, even if it doesni't exist" -msgstr "" +msgstr "Ne pas créer le répertoire de l’utilisateur, même s’il n’existe pas" #: /tmp/fish/implicit/share/completions/adduser.fish:13 msgid "Suppress informational messages, only show warnings and errors" msgstr "" +"Masquer les messages informatifs, n’afficher que les avertissements et les " +"erreurs" #: /tmp/fish/implicit/share/completions/adduser.fish:14 msgid "Be verbose, most useful if you want to nail down a problem with adduser" msgstr "" +"Être bavard; utile surtout si vous voulez isoler un problème avec adduser" #: /tmp/fish/implicit/share/completions/adduser.fish:15 msgid "Create a system user or group" -msgstr "" +msgstr "Créer un utilisateur ou groupe système" #: /tmp/fish/implicit/share/completions/adduser.fish:16 -#, fuzzy msgid "Force the new userid to be the given number" -msgstr "Créer un référentiel CVS s'il n'existe pas" +msgstr "Forcer l’UID à la valeur donnée" #: /tmp/fish/implicit/share/completions/adduser.fish:17 msgid "" "Override the first uid in the range that the uid is chosen from (overrides " "FIRST_UID specified in the configuration file)" msgstr "" +"Outrepasser le premier UID trouvé dans l’intervalle disponible (outrepasse " +"FIRST_UID tel que défini dans le fichier de configuration)" #: /tmp/fish/implicit/share/completions/adduser.fish:18 msgid "" "ID Override the last uid in the range that the uid is chosen from " "( LAST_UID )" msgstr "" +"Outrepasser le dernier UID trouvé dans l’intervalle disponible (LAST_UID)" #: /tmp/fish/implicit/share/completions/adduser.fish:19 msgid "Add new user to extra groups defined in the configuration file" msgstr "" +"Ajouter le nouvel utilisateur aux groupes supplémentaires définis dans le " +"fichier de configuration" #: /tmp/fish/implicit/share/completions/adduser.fish:20 #, fuzzy msgid "Display version and copyright information" -msgstr "Afficher la version et quitter" +msgstr "Afficher la version et les informations de licence" #: /tmp/fish/implicit/share/completions/alsactl.fish:1 msgid "Save current driver state" @@ -3889,9 +3913,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/poweroff.fish:1 #: /tmp/fish/implicit/share/completions/terraform.fish:2 #: /tmp/fish/implicit/share/completions/yast2.fish:2 -#, fuzzy msgid "Show help" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide" #: /tmp/fish/implicit/share/completions/alsamixer.fish:2 msgid "Soundcard number or id to use" @@ -4579,9 +4602,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/xdg-mime.fish:11 #: /tmp/fish/implicit/share/completions/xz.fish:36 #: /tmp/fish/implicit/share/completions/yaourt.fish:12 -#, fuzzy msgid "Display help" -msgstr "Afficher la page de manuel" +msgstr "Afficher l’aide" #: /tmp/fish/implicit/share/completions/apm.fish:4 #: /tmp/fish/implicit/share/completions/base64.fish:5 @@ -4589,19 +4611,17 @@ msgstr "Afficher la page de manuel" #: /tmp/fish/implicit/share/completions/lscpu.fish:9 #: /tmp/fish/implicit/share/completions/netctl.fish:2 #: /tmp/fish/implicit/share/completions/xz.fish:38 -#, fuzzy msgid "Display version" -msgstr "Afficher la version et quitter" +msgstr "Afficher la version" #: /tmp/fish/implicit/share/completions/apm.fish:5 -#, fuzzy msgid "Enable colored output" -msgstr "Nommer le répertoire pour les fichiers de travail" +msgstr "Colorier la sortie" #: /tmp/fish/implicit/share/completions/apm.fish:6 #: /tmp/fish/implicit/share/completions/magento.fish:25 msgid "Disable colored output" -msgstr "" +msgstr "Ne pas colorier la sortie" #: /tmp/fish/implicit/share/completions/apm.fish:7 #, fuzzy @@ -5220,7 +5240,7 @@ msgstr "Spécifier un fichier sources.list" #: /tmp/fish/implicit/share/completions/apt-cache.fish:2 msgid "Build apt cache" -msgstr "Construire la cache apt" +msgstr "Construire le cache apt" #: /tmp/fish/implicit/share/completions/apt-cache.fish:3 msgid "Show package info" @@ -5228,7 +5248,7 @@ msgstr "Afficher les infos du paquet" #: /tmp/fish/implicit/share/completions/apt-cache.fish:4 msgid "Show cache statistics" -msgstr "Afficher les statistiques de la cache" +msgstr "Afficher les statistiques du cache" #: /tmp/fish/implicit/share/completions/apt-cache.fish:5 msgid "Show source package" @@ -5236,7 +5256,7 @@ msgstr "Afficher le paquet source" #: /tmp/fish/implicit/share/completions/apt-cache.fish:6 msgid "Show packages in cache" -msgstr "Afficher les paquets dans la cache" +msgstr "Afficher les paquets dans le cache" #: /tmp/fish/implicit/share/completions/apt-cache.fish:7 msgid "Print available list" @@ -5244,7 +5264,7 @@ msgstr "Afficher la liste disponible" #: /tmp/fish/implicit/share/completions/apt-cache.fish:8 msgid "List unmet dependencies in cache" -msgstr "Lister les dépendances non satisfaites de la cache" +msgstr "Lister les dépendances non satisfaites du cache" #: /tmp/fish/implicit/share/completions/apt-cache.fish:9 msgid "Display package record" @@ -5316,7 +5336,7 @@ msgstr "Afficher les fiches complètes" #: /tmp/fish/implicit/share/completions/apt-cache.fish:23 msgid "Auto-gen package cache" -msgstr "Générer automatiquement la cache des paquets" +msgstr "Générer automatiquement le cache des paquets" #: /tmp/fish/implicit/share/completions/apt-cache.fish:24 msgid "Print all names" @@ -5353,7 +5373,7 @@ msgstr "Ajouter un nouveau disque à la liste des sources" #: /tmp/fish/implicit/share/completions/apt-cdrom.fish:3 msgid "Report identity of disc" -msgstr "Rapporter l'identité du disque" +msgstr "Rapporter l’identité du disque" #: /tmp/fish/implicit/share/completions/apt-cdrom.fish:4 #: /tmp/fish/implicit/share/completions/fusermount.fish:1 @@ -5376,7 +5396,7 @@ msgstr "Copie rapide" #: /tmp/fish/implicit/share/completions/apt-cdrom.fish:8 msgid "Thorough package scan" -msgstr "Examination profonde des paquets" +msgstr "Examen minutieux des paquets" #: /tmp/fish/implicit/share/completions/apt-cdrom.fish:9 msgid "No changes" @@ -5384,11 +5404,11 @@ msgstr "Pas de changements" #: /tmp/fish/implicit/share/completions/apt-config.fish:2 msgid "Access config file from shell" -msgstr "Accéder au fichier de config à partir du shell" +msgstr "Accéder au fichier de configuration à partir du shell" #: /tmp/fish/implicit/share/completions/apt-config.fish:3 msgid "Dump contents of config file" -msgstr "Afficher le contenu du fichier de config" +msgstr "Afficher le contenu du fichier de configuration" #: /tmp/fish/implicit/share/completions/apt-extracttemplates.fish:2 msgid "Set temp dir" @@ -5429,11 +5449,11 @@ msgstr "Ne pas développer le motif" #: /tmp/fish/implicit/share/completions/apt-file.fish:10 msgid "Pattern is regexp" -msgstr "Le motif est une regexp" +msgstr "Le motif est une expression régulière" #: /tmp/fish/implicit/share/completions/apt-file.fish:12 msgid "Set arch" -msgstr "Définir l'architecture" +msgstr "Définir l’architecture" #: /tmp/fish/implicit/share/completions/apt-file.fish:13 msgid "Set sources.list file" @@ -5455,9 +5475,8 @@ msgstr "Tester si apt doit se faire donner la sous-commande" #: /tmp/fish/implicit/share/completions/apt.fish:6 #: /tmp/fish/implicit/share/completions/git.fish:4 -#, fuzzy msgid "Set a configuration option" -msgstr "Définir une option de config" +msgstr "Définir une option de configuration" #: /tmp/fish/implicit/share/completions/apt.fish:7 #: /tmp/fish/implicit/share/completions/man.fish:14 @@ -5465,11 +5484,11 @@ msgstr "Définir une option de config" #: /tmp/fish/implicit/share/completions/yum.fish:13 #: /tmp/fish/implicit/share/functions/__fish_complete_ssh.fish:8 msgid "Configuration file" -msgstr "" +msgstr "Fichier de configuration" #: /tmp/fish/implicit/share/completions/apt.fish:8 msgid "Target release" -msgstr "" +msgstr "Version de destination" #: /tmp/fish/implicit/share/completions/apt-ftparchive.fish:2 msgid "Generate package from source" @@ -5547,18 +5566,16 @@ msgid "Install one or more packages" msgstr "Installer un ou des paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:10 -#, fuzzy msgid "Display changelog of one or more packages" -msgstr "Installer un ou des paquets" +msgstr "Afficher le journal des modifications d’un ou plusieurs paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:11 -#, fuzzy msgid "Remove and purge one or more packages" -msgstr "Supprimer un ou des paquets" +msgstr "Supprimer et purger un ou plusieurs paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:12 msgid "Remove one or more packages" -msgstr "Supprimer un ou des paquets" +msgstr "Supprimer un ou plusieurs paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:13 msgid "Fetch source packages" @@ -5566,29 +5583,27 @@ msgstr "Récupérer les paquets sources" #: /tmp/fish/implicit/share/completions/apt-get.fish:14 msgid "Install/remove packages for dependencies" -msgstr "Installer/supprimer les dépendances de construction" +msgstr "Installer/supprimer les dépendances" #: /tmp/fish/implicit/share/completions/apt-get.fish:15 msgid "Update cache and check dependencies" -msgstr "Mettre à jour la cache et vérifier les dépendances" +msgstr "Mettre à jour le cache et vérifier les dépendances" #: /tmp/fish/implicit/share/completions/apt-get.fish:16 msgid "Clean local caches and packages" -msgstr "Nettoyer les paquets locaux" +msgstr "Nettoyer les paquets et caches locaux" #: /tmp/fish/implicit/share/completions/apt-get.fish:17 msgid "Clean packages no longer be downloaded" msgstr "Nettoyer les paquets ne pouvant plus être téléchargés" #: /tmp/fish/implicit/share/completions/apt-get.fish:18 -#, fuzzy msgid "Remove automatically installed packages" -msgstr "Reconstruire et installer un paquet installé" +msgstr "Supprimer les paquets automatiquement installés" #: /tmp/fish/implicit/share/completions/apt-get.fish:19 -#, fuzzy msgid "Do not install recommended packages" -msgstr "Installer un ou des paquets" +msgstr "Ne pas installer les paquets recommandés" #: /tmp/fish/implicit/share/completions/apt-get.fish:20 #: /tmp/fish/implicit/share/completions/aptitude.fish:28 @@ -5605,26 +5620,22 @@ msgid "Ignore missing packages" msgstr "Ignorer les paquets manquants" #: /tmp/fish/implicit/share/completions/apt-get.fish:23 -#, fuzzy msgid "Disable downloading packages" -msgstr "Désactiver le téléchargement de paquets" +msgstr "Désactiver le téléchargement des paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:25 -#, fuzzy msgid "Perform a simulation" -msgstr "Simuler" +msgstr "Faire une simulation" #: /tmp/fish/implicit/share/completions/apt-get.fish:26 msgid "Automatic yes to prompts" -msgstr "Assumer Oui aux questions" +msgstr "Répondre oui aux questions" #: /tmp/fish/implicit/share/completions/apt-get.fish:27 -#, fuzzy msgid "Show upgraded packages" -msgstr "Aucune mise à niveau" +msgstr "Afficher les paquets mis à jour" #: /tmp/fish/implicit/share/completions/apt-get.fish:28 -#, fuzzy msgid "Show full versions for packages" msgstr "Afficher les versions complètes pour les paquets" @@ -5633,9 +5644,8 @@ msgid "Compile source packages" msgstr "Compiler les paquets source" #: /tmp/fish/implicit/share/completions/apt-get.fish:30 -#, fuzzy msgid "Install recommended packages" -msgstr "Installer des paquets source" +msgstr "Installer les paquets recommandés" #: /tmp/fish/implicit/share/completions/apt-get.fish:31 #, fuzzy @@ -5644,19 +5654,18 @@ msgstr "Ignorer les paquets manquants" #: /tmp/fish/implicit/share/completions/apt-get.fish:32 msgid "Do not upgrade packages" -msgstr "Aucune mise à niveau" +msgstr "Ne pas mettre à jour les paquets" #: /tmp/fish/implicit/share/completions/apt-get.fish:33 +#, fuzzy msgid "Force yes" msgstr "Forcer oui" #: /tmp/fish/implicit/share/completions/apt-get.fish:34 -#, fuzzy msgid "Print the URIs" -msgstr "Afficher les URIs" +msgstr "Afficher les URI" #: /tmp/fish/implicit/share/completions/apt-get.fish:36 -#, fuzzy msgid "Reinstall packages" msgstr "Réinstaller les paquets" @@ -5722,43 +5731,39 @@ msgstr "" #: /tmp/fish/implicit/share/completions/aptitude.fish:4 msgid "Display a brief help message. Identical to the help action" -msgstr "" +msgstr "Afficher un bref message d’aide, identique à l’action help" #: /tmp/fish/implicit/share/completions/aptitude.fish:5 -#, fuzzy msgid "Remove any cached packages which can no longer be downloaded" -msgstr "Nettoyer les paquets ne pouvant plus être téléchargés" +msgstr "Supprimer du cache les paquets ne pouvant plus être téléchargés" #: /tmp/fish/implicit/share/completions/aptitude.fish:6 msgid "Remove all downloaded .deb files from the package cache directory" msgstr "Supprimer tous les fichiers .deb du cache" #: /tmp/fish/implicit/share/completions/aptitude.fish:7 -#, fuzzy msgid "Forget all internal information about what packages are 'new'" -msgstr "Afficher l'état des fichiers extraits" +msgstr "Oublier les informations à propos des paquets considérés comme 'nouveaux'" #: /tmp/fish/implicit/share/completions/aptitude.fish:8 msgid "Cancel all scheduled actions on all packages" -msgstr "" +msgstr "Annuler toutes les opérations prévues sur des paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:9 msgid "Update the list of available packages from the apt sources" -msgstr "" +msgstr "Actualiser la liste des paquets disponibles depuis les sources apt" #: /tmp/fish/implicit/share/completions/aptitude.fish:10 -#, fuzzy msgid "Upgrade installed packages to their most recent version" -msgstr "Afficher tous les paquets source avec version" +msgstr "Mettre à jour les paquets installés vers leur version la plus récente" #: /tmp/fish/implicit/share/completions/aptitude.fish:11 msgid "Download and displays the Debian changelog for the packages" -msgstr "Télécharger et afficher le changelog pour le paquet Debian" +msgstr "Télécharger et afficher le journal des modifications Debian pour le paquet" #: /tmp/fish/implicit/share/completions/aptitude.fish:12 -#, fuzzy msgid "Upgrade, removing or installing packages as necessary" -msgstr "Mettre à niveau ou installer les plus nouveaux paquets" +msgstr "Mettre à jour, supprimer ou installer les paquets si nécessaire" #: /tmp/fish/implicit/share/completions/aptitude.fish:13 msgid "Download the packages to the current directory" @@ -5773,109 +5778,99 @@ msgid "Ignore the packages by future upgrade commands" msgstr "Ignorer le paquet pour les futures commandes de mise à jour" #: /tmp/fish/implicit/share/completions/aptitude.fish:16 -#, fuzzy msgid "Install the packages" -msgstr "Installer des paquets source" +msgstr "Installer les paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:17 msgid "Cancel any scheduled actions on the packages" msgstr "Annuler toute action programmée pour un paquet" #: /tmp/fish/implicit/share/completions/aptitude.fish:18 -#, fuzzy msgid "Mark packages as automatically installed" -msgstr "Synchroniser les paquets installés" +msgstr "Marquer les paquets comme installés automatiquement" #: /tmp/fish/implicit/share/completions/aptitude.fish:19 msgid "Remove and delete all associated configuration and data files" -msgstr "Supprimer tous les fichiers de configuration associés" +msgstr "Supprimer tous les fichiers de configuration et de données associés" #: /tmp/fish/implicit/share/completions/aptitude.fish:20 -#, fuzzy msgid "Reinstall the packages" msgstr "Réinstaller les paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:21 -#, fuzzy msgid "Remove the packages" -msgstr "Supprime les paquet" +msgstr "Supprimer les paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:22 -#, fuzzy msgid "Display detailed information about the packages" -msgstr "Afficher l'état des fichiers extraits" +msgstr "Afficher les informations détaillés sur les paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:23 msgid "Consider the packages by future upgrade commands" msgstr "" +"Envisager l’inclusion des paquets lors des futures exécutions de upgrade" #: /tmp/fish/implicit/share/completions/aptitude.fish:24 -#, fuzzy msgid "Mark packages as manually installed" -msgstr "Synchroniser les paquets installés" +msgstr "Marquer les paquets comme installés manuellement" #: /tmp/fish/implicit/share/completions/aptitude.fish:25 -#, fuzzy msgid "Search for packages matching one of the patterns" -msgstr "Cherche les paquet contenant le motif" +msgstr "Chercher les paquets contenant un des motifs" #: /tmp/fish/implicit/share/completions/aptitude.fish:26 msgid "Display brief summary of the available commands and options" msgstr "Afficher un sommaire des commandes et options disponibles" #: /tmp/fish/implicit/share/completions/aptitude.fish:27 -#, fuzzy msgid "Show explanations of automatic installations and removals" -msgstr "Mentienir un paquet, empêchant suppression ou installation automatique" +msgstr "" +"Afficher des explications concernant les (dés)installations automatiques" #: /tmp/fish/implicit/share/completions/aptitude.fish:30 -#, fuzzy msgid "Purge packages that are not required by any installed package" -msgstr "Reconstruire et installer un paquet installé" +msgstr "" +"Purger les paquets qui ne sont pas des dépendances d’autres paquets installés" #: /tmp/fish/implicit/share/completions/aptitude.fish:31 msgid "Always display a prompt" -msgstr "" +msgstr "Toujours afficher une invite" #: /tmp/fish/implicit/share/completions/aptitude.fish:32 -#, fuzzy msgid "Do not treat recommendations as dependencies" -msgstr "Corriger les dépendances brisées" +msgstr "Ne pas traiter les recommandations comme des dépendances" #: /tmp/fish/implicit/share/completions/aptitude.fish:33 -#, fuzzy msgid "Treat recommendations as dependencies" -msgstr "Corriger les dépendances brisées" +msgstr "Traiter les recommandations comme des dépendances" #: /tmp/fish/implicit/share/completions/aptitude.fish:34 msgid "Don't perform the actions. Just show them" -msgstr "" +msgstr "Ne pas effectuer les actions, les afficher seulement" #: /tmp/fish/implicit/share/completions/aptitude.fish:35 msgid "Schedule operations to be performed in the future" -msgstr "" +msgstr "Programmer les opérations pour une exécution ultérieure" #: /tmp/fish/implicit/share/completions/aptitude.fish:36 msgid "Suppress incremental progress indicators" -msgstr "" +msgstr "Masquer les indicateurs de progression incrémentaux" #: /tmp/fish/implicit/share/completions/aptitude.fish:37 -#, fuzzy msgid "Show which versions of packages will be installed" -msgstr "Liste des paquets à installer" +msgstr "Liste des versions des paquets à installer" #: /tmp/fish/implicit/share/completions/aptitude.fish:38 -#, fuzzy msgid "Display extra information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Afficher des informations supplémentaires" #: /tmp/fish/implicit/share/completions/aptitude.fish:39 msgid "Display the version of aptitude and compile information" -msgstr "" +msgstr "Afficher la version d’aptitude et les informations de compilation" #: /tmp/fish/implicit/share/completions/aptitude.fish:40 msgid "Start up the visual interface and display its preview screen" -msgstr "" +msgstr "Afficher l’interface ncurses avec l’aperçu" #: /tmp/fish/implicit/share/completions/aptitude.fish:41 #, fuzzy @@ -5884,33 +5879,31 @@ msgstr "Assumer oui à toutes les questions" #: /tmp/fish/implicit/share/completions/aptitude.fish:42 msgid "Show how much disk space will be used or freed" -msgstr "" +msgstr "Afficher l’espace disque qui sera utilisé ou libéré" #: /tmp/fish/implicit/share/completions/aptitude.fish:43 -#, fuzzy msgid "Specify the format to be used by the search command" -msgstr "Tester si apt doit se faire donner la sous-commande" +msgstr "Préciser le format à utiliser par la commande search" #: /tmp/fish/implicit/share/completions/aptitude.fish:44 msgid "Set the release from which packages should be installed" -msgstr "" +msgstr "Préciser la distribution de laquelle installer les paquets" #: /tmp/fish/implicit/share/completions/aptitude.fish:45 msgid "Specify the order for the output from the search command" -msgstr "" +msgstr "Préciser l’ordre de la sortie de la commande search" #: /tmp/fish/implicit/share/completions/aptitude.fish:46 -#, fuzzy msgid "Set a configuration file option directly" -msgstr "Spécifier un fichier de configuration" +msgstr "Spécifier une option de configuration directement" #: /tmp/fish/implicit/share/completions/aptitude.fish:47 msgid "Specify the display width for the output from the search command" -msgstr "" +msgstr "Préciser la largeur d’affichage pour la commande search" #: /tmp/fish/implicit/share/completions/apt-key.fish:1 msgid "Add a new key" -msgstr "Ajouter une nouvelle clé" +msgstr "Ajouter une clé" #: /tmp/fish/implicit/share/completions/apt-key.fish:2 msgid "Remove a key" @@ -5938,11 +5931,11 @@ msgstr "Ignorer les bogues dans votre système" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:6 msgid "Ignore newer bugs than upgrade packages" -msgstr "Ignorer les nouveaux bugs et mettre à jour les paquets" +msgstr "Ignorer les nouveaux bogues et mettre à jour les paquets" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:7 msgid "Bugs for downgrade packages" -msgstr "" +msgstr "Bogues des paquets à rétrograder" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:8 msgid "Bug Tracking system" @@ -5950,7 +5943,7 @@ msgstr "Système de suivi des bogues" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:9 msgid "Specify port for web interface" -msgstr "Spécifier le port pour l'interface web" +msgstr "Spécifier le port pour l’interface web" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:10 msgid "Use daily bug report" @@ -5962,11 +5955,11 @@ msgstr "Utiliser le fichier index.db" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:12 msgid "Specify index dir" -msgstr "Spécifier le rep. d'index" +msgstr "Spécifier le répertoire d’index" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:13 msgid "Specify Pin-Priority value" -msgstr "" +msgstr "Spécifier la valeur de Pin-Priority" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:14 msgid "Specify the title of rss" @@ -5987,22 +5980,21 @@ msgstr "Ne pas afficher la barre de progression" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:17 msgid "Specify local cache dir" -msgstr "Spécifier un rep. de cache local" +msgstr "Spécifier un répertoire de cache local" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:18 msgid "Specify the expire cache timer" -msgstr "Spécifier l'expiration de la cache" +msgstr "Spécifier la durée de validité du cache" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:19 msgid "Specify apt config file" -msgstr "Spécifier le fichier de config d'APT" +msgstr "Spécifier le fichier de configuration APT" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:21 msgid "Assume no to all questions" -msgstr "Assumer non comme réponse" +msgstr "Assumer non à toutes les questions" #: /tmp/fish/implicit/share/completions/apt-listbugs.fish:22 -#, fuzzy msgid "List bugs from packages" msgstr "Lister les bogues des paquets" @@ -6016,12 +6008,12 @@ msgstr "Lire les noms de fichier depuis un tube" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:4 msgid "Select frontend interface" -msgstr "Choisir l'interface de façade" +msgstr "Choisir l’interface de façade" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:5 #: /tmp/fish/implicit/share/completions/darcs.fish:749 msgid "Specify email address" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l’adresse email" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:6 msgid "Ask confirmation" @@ -6038,59 +6030,52 @@ msgstr "" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:9 #, fuzzy msgid "Select display" -msgstr "Sélectionner le champ" +msgstr "Sélectionner l’affichage" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:10 msgid "Insert header" -msgstr "Insérer l'en-tête" +msgstr "Insérer l’en-tête" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:11 #: /tmp/fish/implicit/share/completions/ps.fish:40 msgid "Display debug info" -msgstr "Afficher les infos de débogage" +msgstr "Afficher les informations de débogage" #: /tmp/fish/implicit/share/completions/apt-listchanges.fish:12 msgid "Select an option profile" -msgstr "Choisir un profile d'option" +msgstr "Choisir un profil d’option" #: /tmp/fish/implicit/share/completions/apt-mark.fish:5 -#, fuzzy msgid "Mark a package as automatically installed" -msgstr "Liste des paquets à installer" +msgstr "Marquer un paquet comme installé automatiquement" #: /tmp/fish/implicit/share/completions/apt-mark.fish:6 -#, fuzzy msgid "Mark a package as manually installed" -msgstr "Synchroniser les paquets installés" +msgstr "Marquer un paquet comme installé manuellement" #: /tmp/fish/implicit/share/completions/apt-mark.fish:7 msgid "Hold a package, prevent automatic installation or removal" -msgstr "Mentienir un paquet, empêchant suppression ou installation automatique" +msgstr "Maintenir un paquet, empêchant suppression ou installation automatique" #: /tmp/fish/implicit/share/completions/apt-mark.fish:8 -#, fuzzy msgid "Cancel a hold on a package" -msgstr "Info sur un paquet" +msgstr "Relâcher un paquet" #: /tmp/fish/implicit/share/completions/apt-mark.fish:9 -#, fuzzy msgid "Show automatically installed packages" -msgstr "Reconstruire et installer un paquet installé" +msgstr "Afficher les paquets installés automatiquement" #: /tmp/fish/implicit/share/completions/apt-mark.fish:10 -#, fuzzy msgid "Show manually installed packages" -msgstr "Reconstruire et installer un paquet installé" +msgstr "Afficher les paquets installés manuellement" #: /tmp/fish/implicit/share/completions/apt-mark.fish:11 -#, fuzzy msgid "Show held packages" -msgstr "Afficher les paquets mis à niveau" +msgstr "Afficher les paquets maintenus" #: /tmp/fish/implicit/share/completions/apt-mark.fish:15 -#, fuzzy msgid "Write package statistics to a file" -msgstr "Écrire les meilleurs serveurs dans un fichier" +msgstr "Écrire les statistiques des paquets dans un fichier" #: /tmp/fish/implicit/share/completions/apt-move.fish:1 #, fuzzy @@ -6102,12 +6087,13 @@ msgid "Alias for 'get'" msgstr "Alias pour 'get'" #: /tmp/fish/implicit/share/completions/apt-move.fish:3 +#, fuzzy msgid "Move packages to local tree" -msgstr "Déplacer les paquets dans l'arbre local" +msgstr "Déplacer les paquets vers l’arbre local" #: /tmp/fish/implicit/share/completions/apt-move.fish:4 msgid "Delete obsolete package files" -msgstr "Supprimer les fichiers obsolètes" +msgstr "Supprimer les fichiers de paquets obsolètes" #: /tmp/fish/implicit/share/completions/apt-move.fish:5 msgid "Build new local files" @@ -6115,11 +6101,11 @@ msgstr "Construire des nouveaux fichiers locaux" #: /tmp/fish/implicit/share/completions/apt-move.fish:6 msgid "Rebuild index files" -msgstr "Reconstruire l'index des fichiers" +msgstr "Reconstruire l’index des fichiers" #: /tmp/fish/implicit/share/completions/apt-move.fish:7 msgid "Move packages from cache to local mirror" -msgstr "Déplacer les paquets de la cache au miroir local" +msgstr "Déplacer les paquets du cache vers le miroir local" #: /tmp/fish/implicit/share/completions/apt-move.fish:8 msgid "Alias for 'move delete packages'" @@ -6131,28 +6117,27 @@ msgstr "Alias pour 'update'" #: /tmp/fish/implicit/share/completions/apt-move.fish:10 msgid "Download package missing from mirror" -msgstr "Télécharger les paquets manquant au miroir" +msgstr "Télécharger les paquets manquants sur le miroir" #: /tmp/fish/implicit/share/completions/apt-move.fish:11 msgid "Sync packages installed" msgstr "Synchroniser les paquets installés" #: /tmp/fish/implicit/share/completions/apt-move.fish:13 -#, fuzzy msgid "Move file specified on commandline" -msgstr "Déplacer le fichier spécifier dans la ligne de commande" +msgstr "Déplacer le fichier spécifié sur la ligne de commande" #: /tmp/fish/implicit/share/completions/apt-move.fish:14 msgid "List packages that may serve as input to mirrorbin or mirrorsource" -msgstr "" +msgstr "Lister les paquets pouvant servir d’entrée à mirrorbin ou mirrorsource" #: /tmp/fish/implicit/share/completions/apt-move.fish:15 msgid "Fetch package from STDIN" -msgstr "Récupérer le paquet de STDIN" +msgstr "Récupérer le paquet depuis l’entrée standard" #: /tmp/fish/implicit/share/completions/apt-move.fish:16 msgid "Fetch source package from STDIN" -msgstr "Récupérer le paquet source de STDIN" +msgstr "Récupérer le paquet source depuis l’entrée standard" #: /tmp/fish/implicit/share/completions/apt-move.fish:17 msgid "Process all packages" @@ -6160,7 +6145,7 @@ msgstr "Traiter tous les paquets" #: /tmp/fish/implicit/share/completions/apt-move.fish:18 msgid "Use specific conffile" -msgstr "Utiliser un fichier de config spécifique" +msgstr "Utiliser un fichier de configuration spécifique" #: /tmp/fish/implicit/share/completions/apt-move.fish:19 msgid "Force deletion" @@ -6168,7 +6153,7 @@ msgstr "Forcer la suppression" #: /tmp/fish/implicit/share/completions/apt-move.fish:20 msgid "Suppresses normal output" -msgstr "Effacer la sortie normale" +msgstr "Masquer la sortie normale" #: /tmp/fish/implicit/share/completions/apt-move.fish:21 msgid "Test run" @@ -6176,19 +6161,19 @@ msgstr "Essai" #: /tmp/fish/implicit/share/completions/apt-proxy-import.fish:4 msgid "No message to STDOUT" -msgstr "Aucun message à STDOUT" +msgstr "Aucun message sur la sortie standard" #: /tmp/fish/implicit/share/completions/apt-proxy-import.fish:5 msgid "Recurse into subdir" -msgstr "Récursif" +msgstr "Récursion dans les sous-dossiers" #: /tmp/fish/implicit/share/completions/apt-proxy-import.fish:6 msgid "Dir to import" -msgstr "Rep. à importer" +msgstr "Répertoire à importer" #: /tmp/fish/implicit/share/completions/apt-proxy-import.fish:7 msgid "Change to user" -msgstr "Changer d'utilisateur" +msgstr "Changer d’utilisateur" #: /tmp/fish/implicit/share/completions/apt-proxy-import.fish:8 msgid "Debug level[default 0]" @@ -6196,7 +6181,7 @@ msgstr "Niveau de débogage[défaut 0]" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:2 msgid "Show build dependencies" -msgstr "Afficher les dépendances de construction" +msgstr "Afficher les dépendances de compilation" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:3 msgid "Generate a dotty graph" @@ -6204,47 +6189,45 @@ msgstr "Générer un graphique dotty" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:4 msgid "Show state of dependencies" -msgstr "Afficher l'état des dépendances" +msgstr "Afficher l’état des dépendances" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:5 msgid "List packages depending on" msgstr "Lister les dépendances inverses" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:6 -#, fuzzy msgid "Comma-separated list of dependency types to follow recursively" msgstr "" -"Liste séparée par des virgules de types de dépendances à suivre récursivement" +"Liste, séparée par des virgules, de types de dépendances à suivre " +"récursivement" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:7 -#, fuzzy msgid "Comma-separated list of dependency types to show" -msgstr "Liste séparée par des virgules de types de dépendances à afficher" +msgstr "Liste, séparée par des virgules, de types de dépendances à afficher" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:8 msgid "" "Comma-separated list of package installation states to follow recursively" msgstr "" -"Liste séparée par des virgules d'états d'installation de paquet à suivre " +"Liste, séparée par des virgules, d’états d’installation de paquet à suivre " "récursivement" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:9 msgid "Comma-separated list of package installation states to show" msgstr "" -"Liste séparée par des virgules d'états d'installation de paquet à afficher" +"Liste, séparée par des virgules, d’états d’installation de paquet à afficher" #: /tmp/fish/implicit/share/completions/apt-rdepends.fish:10 msgid "Display man page" -msgstr "Afficher la page de manuel" +msgstr "Afficher la page de man" #: /tmp/fish/implicit/share/completions/apt-setup.fish:1 msgid "Probe a CD" msgstr "Analyser un CD" #: /tmp/fish/implicit/share/completions/apt-setup.fish:2 -#, fuzzy msgid "Run in non-interactive mode" -msgstr "Exécuter en mode noninteractif" +msgstr "Exécuter en mode non interactif" #: /tmp/fish/implicit/share/completions/apt-show-source.fish:2 #: /tmp/fish/implicit/share/completions/apt-show-source.fish:3 @@ -6258,7 +6241,7 @@ msgstr "Lire le paquet depuis un fichier" #: /tmp/fish/implicit/share/completions/apt-show-versions.fish:11 #: /tmp/fish/implicit/share/completions/apt-show-versions.fish:12 msgid "Specify APT list dir" -msgstr "Spécifier le rep. de liste APT" +msgstr "Spécifier le répertoire de liste APT" #: /tmp/fish/implicit/share/completions/apt-show-source.fish:6 msgid "List PKG info" @@ -6512,7 +6495,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/arc.fish:5 #, fuzzy msgid "Specify which libraies to load" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/arc.fish:6 #, fuzzy @@ -7393,7 +7376,7 @@ msgstr "Limiter le facteur de charge" #: /tmp/fish/implicit/share/completions/atd.fish:2 msgid "Minimum interval in seconds" -msgstr "Interval minimum en sec." +msgstr "Intervalle minimum en secondes" #: /tmp/fish/implicit/share/completions/atd.fish:3 #: /tmp/fish/implicit/share/completions/make.fish:4 @@ -7403,7 +7386,7 @@ msgstr "Mode débogage" #: /tmp/fish/implicit/share/completions/atd.fish:4 msgid "Process at queue only once" -msgstr "" +msgstr "Traiter la file at une seule fois" #: /tmp/fish/implicit/share/completions/at.fish:2 #: /tmp/fish/implicit/share/completions/atq.fish:2 @@ -7412,7 +7395,7 @@ msgstr "Utiliser la file spécifiée" #: /tmp/fish/implicit/share/completions/at.fish:3 msgid "Send mail to user" -msgstr "Envoyer un couriel à l'utilisateur" +msgstr "Envoyer un email à l’utilisateur" #: /tmp/fish/implicit/share/completions/at.fish:4 msgid "Read job from file" @@ -7432,13 +7415,14 @@ msgid "Show the time" msgstr "Afficher le temps" #: /tmp/fish/implicit/share/completions/at.fish:8 +#, fuzzy msgid "Print the jobs listed" msgstr "Afficher les tâches listées" #: /tmp/fish/implicit/share/completions/atom.fish:1 #, fuzzy msgid "Run in development mode." -msgstr "Exécuter en mode fictif" +msgstr "Exécuter en mode fictif." #: /tmp/fish/implicit/share/completions/atom.fish:2 msgid "Keep the browser process in the foreground." @@ -8236,11 +8220,11 @@ msgstr "" #: /tmp/fish/implicit/share/completions/badblocks.fish:1 msgid "Block-size Specify the size of blocks in bytes" -msgstr "" +msgstr "Taille-bloc Spécifier la taille des blocs en octets" #: /tmp/fish/implicit/share/completions/badblocks.fish:2 msgid "Number of blocks is the number of blocks which are tested at a time" -msgstr "" +msgstr "Number of blocks est le nombre de blocs à tester simultanément" #: /tmp/fish/implicit/share/completions/badblocks.fish:3 msgid "" @@ -8249,43 +8233,54 @@ msgid "" "potentially crash and/or damage the filesystem even if it is mounted read-" "only" msgstr "" +"Normalement, badblocks refusera un accès ou un test conservateur sur un " +"périphérique monté, car cela peut provoquer une défaillance du système ou " +"endommager le système de fichier, même monté en lecture seule" #: /tmp/fish/implicit/share/completions/badblocks.fish:4 msgid "Input_file Read a list of already existing known bad blocks" -msgstr "" +msgstr "Fichier-entrée Lire un fichier listant les blocs défectueux connus" #: /tmp/fish/implicit/share/completions/badblocks.fish:5 msgid "Output_file Write the list of bad blocks to the specified file" msgstr "" +"Fichier-sortie Écrire la liste des blocs défectueux dans le fichier spécifié" #: /tmp/fish/implicit/share/completions/badblocks.fish:6 msgid "" "Repeat scanning the disk until there are no new blocks discovered in " "specified number of consecutive scans of the disk" msgstr "" +"Répéter le parcours du disque jusqu’au nombre donné de parcours sans " +"détection de nouveaux blocs défectueux" #: /tmp/fish/implicit/share/completions/badblocks.fish:7 msgid "" "Test_pattern Specify a test pattern to be read (and written) to disk blocks" msgstr "" +"Motif-test Spécifier le motif de test à lire depuis, et écrire dans, les " +"blocs" #: /tmp/fish/implicit/share/completions/badblocks.fish:8 msgid "Use non-destructive read-write mode" -msgstr "" +msgstr "Utiliser un mode de lecture-écriture conservateur" #: /tmp/fish/implicit/share/completions/badblocks.fish:9 msgid "" "Show the progress of the scan by writing out the block numbers as they are " "checked" msgstr "" +"Afficher la progression du parcours en écrivant les numéros des blocs à " +"mesure de leur vérification" #: /tmp/fish/implicit/share/completions/badblocks.fish:11 +#, fuzzy msgid "Use write-mode test" -msgstr "" +msgstr "Tester en mode écriture" #: /tmp/fish/implicit/share/completions/badblocks.fish:12 msgid "Internal flag only to be used by e2fsck(8) and mke2fs(8)" -msgstr "" +msgstr "Drapeau interne à utiliser uniquement par e2fsck(8) et mke2fs(8)" #: /tmp/fish/implicit/share/completions/base64.fish:1 msgid "Decode data" @@ -10473,7 +10468,6 @@ msgstr "Rapporter les changements effectués" #: /tmp/fish/implicit/share/completions/chgrp.fish:2 #: /tmp/fish/implicit/share/completions/chown.fish:2 -#, fuzzy msgid "Dereference symbolic links" msgstr "Déréférencer les liens symboliques" @@ -10489,14 +10483,13 @@ msgstr "" #: /tmp/fish/implicit/share/completions/chgrp.fish:5 #: /tmp/fish/implicit/share/completions/chown.fish:5 -#, fuzzy msgid "Suppress errors" -msgstr "Supprimer les erreurs" +msgstr "Masquer les erreurs" #: /tmp/fish/implicit/share/completions/chgrp.fish:6 #: /tmp/fish/implicit/share/completions/chown.fish:6 msgid "Use same owner/group as file" -msgstr "Utiliser le même propriétaire/groupe que celui du fichier" +msgstr "Utiliser le même utilisateur/groupe propriétaire que celui du fichier" #: /tmp/fish/implicit/share/completions/chgrp.fish:7 #: /tmp/fish/implicit/share/completions/chown.fish:7 @@ -10511,52 +10504,47 @@ msgstr "Afficher les détails pour chaque fichier" #: /tmp/fish/implicit/share/completions/chmod.fish:1 msgid "Like verbose but report only when a change is made" -msgstr "" +msgstr "Comme verbose, mais ne signaler que les changements" #: /tmp/fish/implicit/share/completions/chmod.fish:2 msgid "Do not treat / specially (the default)" msgstr "" #: /tmp/fish/implicit/share/completions/chmod.fish:3 -#, fuzzy msgid "Fail to operate recursively on /" -msgstr "Opérer récursivement" +msgstr "Refuser d’opérer récursivement sur /" #: /tmp/fish/implicit/share/completions/chmod.fish:4 #: /tmp/fish/implicit/share/completions/readlink.fish:5 -#, fuzzy msgid "Suppress most error messages" -msgstr "Supprimer les erreurs" +msgstr "Supprimer la plupart des messages d’erreur" #: /tmp/fish/implicit/share/completions/chmod.fish:5 -#, fuzzy msgid "Output a diagnostic for every file processed" msgstr "Afficher les détails pour chaque fichier" #: /tmp/fish/implicit/share/completions/chmod.fish:6 +#, fuzzy msgid "Use RFILEs mode instead of MODE values" -msgstr "" +msgstr "Utiliser le mode RFILEs au lieu des valeurs MODE" #: /tmp/fish/implicit/share/completions/chmod.fish:7 -#, fuzzy msgid "Change files and directories recursively" -msgstr "Traiter les répertoires récursivement" +msgstr "Traiter les fichiers et répertoires récursivement" #: /tmp/fish/implicit/share/completions/chown.fish:11 #: /tmp/fish/implicit/share/completions/chown.fish:12 #: /tmp/fish/implicit/share/completions/w.fish:6 msgid "Username" -msgstr "Nom d'utilisateur" +msgstr "Nom d’utilisateur" #: /tmp/fish/implicit/share/completions/chsh.fish:1 -#, fuzzy msgid "Specify your login shell" -msgstr "Remplacer un message du journal" +msgstr "Spécifier votre shell de connexion" #: /tmp/fish/implicit/share/completions/chsh.fish:2 -#, fuzzy msgid "Display help and exit\t" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter\t" #: /tmp/fish/implicit/share/completions/climate.fish:2 #, fuzzy @@ -10809,9 +10797,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/setsid.fish:1 #: /tmp/fish/implicit/share/completions/ssh.fish:1 #: /tmp/fish/implicit/share/completions/sudo.fish:20 -#, fuzzy msgid "Command to run" -msgstr "" +msgstr "Commande à exécuter" #: /tmp/fish/implicit/share/completions/commandline.fish:2 msgid "Add text to the end of the selected area" @@ -10819,7 +10806,7 @@ msgstr "Ajouter du texte à la fin de la sélection" #: /tmp/fish/implicit/share/completions/commandline.fish:3 msgid "Add text at cursor" -msgstr "Ajouter du texte au curseur" +msgstr "Ajouter du texte au niveau du curseur" #: /tmp/fish/implicit/share/completions/commandline.fish:4 msgid "Replace selected part" @@ -10987,13 +10974,12 @@ msgid "Declare the image as modified" msgstr "" #: /tmp/fish/implicit/share/completions/complete.fish:1 -#, fuzzy msgid "Command to add completion to" -msgstr "Chemin à ajouter une complétion" +msgstr "Commande à laquelle ajouter une complétion" #: /tmp/fish/implicit/share/completions/complete.fish:2 msgid "Path to add completion to" -msgstr "Chemin à ajouter une complétion" +msgstr "Chemin auquel ajouter une complétion" #: /tmp/fish/implicit/share/completions/complete.fish:3 msgid "Posix-style option to complete" @@ -11005,7 +10991,7 @@ msgstr "Option de style GNU à compléter" #: /tmp/fish/implicit/share/completions/complete.fish:5 msgid "Old style long option to complete" -msgstr "Vieux type d'option longue à compléter" +msgstr "Option longue de style ancien à compléter" #: /tmp/fish/implicit/share/completions/complete.fish:6 msgid "Do not use file completion" @@ -11013,15 +10999,15 @@ msgstr "Ne pas utiliser la complétion de fichier" #: /tmp/fish/implicit/share/completions/complete.fish:7 msgid "Require parameter" -msgstr "Requiert un paramètre" +msgstr "Requérir un paramètre" #: /tmp/fish/implicit/share/completions/complete.fish:8 msgid "Require parameter and do not use file completion" -msgstr "Requiert un paramètre et ne pas utiliser la complétion de fichier" +msgstr "Requérir un paramètre et ne pas utiliser la complétion de fichier" #: /tmp/fish/implicit/share/completions/complete.fish:9 msgid "A list of possible arguments" -msgstr "Une liste d'arguments possibles" +msgstr "Une liste d’arguments possibles" #: /tmp/fish/implicit/share/completions/complete.fish:10 msgid "Description of this completions" @@ -11029,15 +11015,13 @@ msgstr "Description de cette complétion" #: /tmp/fish/implicit/share/completions/complete.fish:11 msgid "Option list is not complete" -msgstr "Liste d'options incomplète" +msgstr "Liste d’options incomplète" #: /tmp/fish/implicit/share/completions/complete.fish:12 -#, fuzzy msgid "Remove completion" -msgstr "Enlever la complétion" +msgstr "Supprimer la complétion" #: /tmp/fish/implicit/share/completions/complete.fish:14 -#, fuzzy msgid "Print all completions for the specified commandline" msgstr "Afficher toutes les complétions pour la commande spécifiée" @@ -11047,16 +11031,15 @@ msgid "" "status" msgstr "" "La complétion devrait seulement être utilisée si la commande spécifiée a un " -"état de sortie de zéro" +"code de sortie de zéro" #: /tmp/fish/implicit/share/completions/complete.fish:16 msgid "Inherit completions from the specified command" -msgstr "" +msgstr "Hériter des complétions de la commande spécifiée" #: /tmp/fish/implicit/share/completions/composer.fish:1 -#, fuzzy msgid "Short information about Composer" -msgstr "Retourner l'information sur l'état de fish" +msgstr "Informations concises à propos de Composer" #: /tmp/fish/implicit/share/completions/composer.fish:2 #, fuzzy @@ -11989,7 +11972,7 @@ msgstr "Rejeter les protocoles" #: /tmp/fish/implicit/share/completions/cut.fish:1 msgid "Output byte range" -msgstr "Plage d'octets de sortie" +msgstr "Plage d’octets de sortie" #: /tmp/fish/implicit/share/completions/cut.fish:2 msgid "Output character range" @@ -12004,12 +11987,10 @@ msgid "Select fields" msgstr "Sélectionner le champ" #: /tmp/fish/implicit/share/completions/cut.fish:5 -#, fuzzy msgid "Don't split multi byte characters" -msgstr "Ne pas séparer les caractères multioctets" +msgstr "Ne pas séparer les caractères multi-octets" #: /tmp/fish/implicit/share/completions/cut.fish:6 -#, fuzzy msgid "Do not print lines without delimiter" msgstr "Ne pas afficher les lignes sans délimiteur" @@ -12018,9 +11999,8 @@ msgid "Select output delimiter" msgstr "Choisir le délimiteur de sortie" #: /tmp/fish/implicit/share/completions/cvs.fish:1 -#, fuzzy msgid "Displays usage information for command." -msgstr "Afficher l'aide pour la commande" +msgstr "Afficher l'aide pour la commande." #: /tmp/fish/implicit/share/completions/cvs.fish:2 #, fuzzy @@ -14156,7 +14136,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/darcs.fish:753 #, fuzzy msgid "Specify mail subject" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/darcs.fish:754 #, fuzzy @@ -14176,7 +14156,7 @@ msgstr "Redirige vers un descripteur de fichier" #: /tmp/fish/implicit/share/completions/darcs.fish:827 #, fuzzy msgid "Specify sendmail command" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/darcs.fish:778 msgid "Give patch name and comment in file" @@ -14355,9 +14335,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/dd.fish:1 #: /tmp/fish/implicit/share/completions/emacs.fish:52 #: /tmp/fish/implicit/share/completions/hg.fish:15 -#, fuzzy msgid "display help and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/dd.fish:3 msgid "Complete dd operands" @@ -14447,21 +14426,19 @@ msgstr "Une liste d'arguments possibles" #: /tmp/fish/implicit/share/completions/df.fish:1 msgid "Include empty file systems" -msgstr "" +msgstr "Inclure les systèmes de fichiers vides" #: /tmp/fish/implicit/share/completions/df.fish:2 -#, fuzzy msgid "Print file system type" -msgstr "Envoyer les fichiers vers le tube stdout" +msgstr "Afficher le type de système de fichiers" #: /tmp/fish/implicit/share/completions/df.fish:3 msgid "Excluded file system type" -msgstr "" +msgstr "Types de systèmes de fichiers exclus" #: /tmp/fish/implicit/share/completions/df.fish:4 -#, fuzzy msgid "Show all file systems" -msgstr "Reconstruire votre système" +msgstr "Afficher tous les systèmes de fichiers" #: /tmp/fish/implicit/share/completions/diff.fish:1 msgid "Ignore case differences" @@ -14584,7 +14561,7 @@ msgstr "Spécifier le fichier de config d'APT" #: /tmp/fish/implicit/share/completions/dig.fish:6 #, fuzzy msgid "Specify query class" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/dig.fish:7 #, fuzzy @@ -14603,7 +14580,7 @@ msgstr "Spécifier le port pour l'interface web" #: /tmp/fish/implicit/share/completions/dig.fish:10 #, fuzzy msgid "Specify query name" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/dig.fish:11 #, fuzzy @@ -14961,9 +14938,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/display.fish:54 #: /tmp/fish/implicit/share/completions/montage.fish:72 -#, fuzzy msgid "Automagically orient image" -msgstr "Reconstruire et installer un paquet installé" +msgstr "Orienter automagiquement l’image" #: /tmp/fish/implicit/share/completions/display.fish:62 msgid "Straighten an image [threshold]" @@ -14992,9 +14968,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/display.fish:69 #: /tmp/fish/implicit/share/completions/montage.fish:79 -#, fuzzy msgid "Flop image in the horizontal direction" -msgstr "Changer le répertoire de travail" +msgstr "Retourner horizontalement l’image" #: /tmp/fish/implicit/share/completions/display.fish:70 #: /tmp/fish/implicit/share/completions/montage.fish:80 @@ -15041,32 +15016,31 @@ msgstr "Installer des paquets source" #: /tmp/fish/implicit/share/completions/dmesg.fish:1 msgid "Clear the kernel ring buffer" -msgstr "" +msgstr "Vider le tampon circulaire du noyau" #: /tmp/fish/implicit/share/completions/dmesg.fish:2 msgid "Read and clear all messages" -msgstr "" +msgstr "Lire et supprimer tous les messages" #: /tmp/fish/implicit/share/completions/dmesg.fish:3 msgid "Disable printing messages to console" -msgstr "" +msgstr "Ne pas afficher les messages dans la console" #: /tmp/fish/implicit/share/completions/dmesg.fish:4 msgid "Show time delta between printed messages" -msgstr "" +msgstr "Afficher le délai entre les messages affichés" #: /tmp/fish/implicit/share/completions/dmesg.fish:5 msgid "Enable printing messages to console" -msgstr "" +msgstr "Afficher les messages dans la console" #: /tmp/fish/implicit/share/completions/dmesg.fish:6 msgid "Use the file instead of the kernel log buffer" -msgstr "" +msgstr "Utiliser le fichier au lieu du tampon des journaux du noyau" #: /tmp/fish/implicit/share/completions/dmesg.fish:7 -#, fuzzy msgid "Restrict output to defined facilities" -msgstr "Redirige la sortie vers un fichier" +msgstr "Restreindre la sortie aux catégories définies" #: /tmp/fish/implicit/share/completions/dmesg.fish:8 #: /tmp/fish/implicit/share/completions/m4.fish:1 @@ -15074,243 +15048,221 @@ msgstr "Redirige la sortie vers un fichier" #: /tmp/fish/implicit/share/completions/timeout.fish:4 #: /tmp/fish/implicit/share/completions/watch.fish:11 #: /tmp/fish/implicit/share/completions/xgettext.fish:38 -#, fuzzy msgid "Display this help and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher la présente aide et quitter" #: /tmp/fish/implicit/share/completions/dmesg.fish:9 -#, fuzzy msgid "Display kernel messages" -msgstr "Afficher la page de manuel" +msgstr "Afficher les messages noyau" #: /tmp/fish/implicit/share/completions/dmesg.fish:10 -#, fuzzy msgid "Restrict output to defined levels" -msgstr "Redirige la sortie vers un fichier" +msgstr "Restreindre la sortie aux gravités définies" #: /tmp/fish/implicit/share/completions/dmesg.fish:11 msgid "Set level of messages printed to console" -msgstr "" +msgstr "Définir la gravité des messages affichés en console" #: /tmp/fish/implicit/share/completions/dmesg.fish:12 -#, fuzzy msgid "Print the raw message buffer" -msgstr "Charger le média et quitter" +msgstr "Afficher le tampon des messages en brut" #: /tmp/fish/implicit/share/completions/dmesg.fish:13 msgid "Buffer size to query the kernel ring buffer" -msgstr "" +msgstr "Taille du tampon pour les requêtes au tampon circulaire du noyau" #: /tmp/fish/implicit/share/completions/dmesg.fish:14 msgid "Show human readable timestamp " -msgstr "" +msgstr "Afficher lisiblement les horodatages" #: /tmp/fish/implicit/share/completions/dmesg.fish:15 msgid "Don't print messages timestamp" -msgstr "" +msgstr "Ne pas afficher les horodatages des messages" #: /tmp/fish/implicit/share/completions/dmesg.fish:16 -#, fuzzy msgid "Display userspace messages" -msgstr "Afficher la page de manuel" +msgstr "Afficher les messages de l’espace utilisateur" #: /tmp/fish/implicit/share/completions/dmesg.fish:18 msgid "Decode facility and level to readable string" -msgstr "" +msgstr "Afficher lisiblement les catégories et gravités" #: /tmp/fish/implicit/share/completions/dpkg.fish:1 -#, fuzzy msgid "Install .deb package" -msgstr "Installer des paquets source" +msgstr "Installer le paquet .deb" #: /tmp/fish/implicit/share/completions/dpkg.fish:2 -#, fuzzy msgid "Unpack .deb package" -msgstr "Mettre à niveau les paquets" +msgstr "Déballer le paquet .deb" #: /tmp/fish/implicit/share/completions/dpkg.fish:3 -#, fuzzy msgid "Configure package" -msgstr "Compiler les paquets source" +msgstr "Configurer le paquet" #: /tmp/fish/implicit/share/completions/dpkg.fish:4 -#, fuzzy msgid "Remove package" -msgstr "Supprime les paquet" +msgstr "Supprimer le paquet" #: /tmp/fish/implicit/share/completions/dpkg.fish:5 -#, fuzzy msgid "Purge package" -msgstr "Paquet" +msgstr "Purger le paquet" #: /tmp/fish/implicit/share/completions/dpkg.fish:6 -#, fuzzy msgid "Verify contents of package" -msgstr "Installer/supprimer les dépendances de construction" +msgstr "Vérifier le contenu du paquet" #: /tmp/fish/implicit/share/completions/dpkg.fish:7 msgid "Continue on all problems" -msgstr "" +msgstr "Ignorer tous les problèmes" #: /tmp/fish/implicit/share/completions/dpkg.fish:8 -#, fuzzy msgid "Build package from directory" -msgstr "Lire le paquet depuis un fichier" +msgstr "Compiler le paquet depuis le dossier" #: /tmp/fish/implicit/share/completions/dpkg.fish:9 -#, fuzzy msgid "List contents of .deb" -msgstr "Évaluer le contenu d'un fichier" +msgstr "Lister le contenu du .deb" #: /tmp/fish/implicit/share/completions/dpkg.fish:10 -#, fuzzy msgid "Show .deb information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Obtenir les informations du .deb" #: /tmp/fish/implicit/share/completions/dpkg.fish:11 -#, fuzzy msgid "List packages matching pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "Lister les paquets correspondant au motif" #: /tmp/fish/implicit/share/completions/dpkg.fish:12 -#, fuzzy msgid "List contents of packages" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "Lister le contenu des paquets" #: /tmp/fish/implicit/share/completions/dpkg.fish:13 -#, fuzzy msgid "Print status of package" -msgstr "Actualiser la liste des paquets" +msgstr "Afficher le statut du paquet" #: /tmp/fish/implicit/share/completions/dpkg.fish:14 -#, fuzzy msgid "Search for packages containing file" -msgstr "Cherche les paquet contenant le motif" +msgstr "Chercher les paquets contenant le fichier" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:3 -#, fuzzy msgid "Set configuration frontend" -msgstr "Spécifier un fichier de configuration" +msgstr "Définir l’interface de configuration" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:4 msgid "Set priority threshold" -msgstr "" +msgstr "Définir le seuil de priorité" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:5 msgid "Use current default (" -msgstr "" +msgstr "Utiliser le réglage par défaut (" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:6 +#, fuzzy msgid "Show only unseen question" -msgstr "" +msgstr "N’afficher que les questions pour novices" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:7 -#, fuzzy msgid "Reconfigure also inconsistent packages" -msgstr "Supprimer des paquets source" +msgstr "Également reconfigurer les paquets incohérents" #: /tmp/fish/implicit/share/completions/dpkg-reconfigure.fish:8 +#, fuzzy msgid "Prevent reloading templates" -msgstr "" +msgstr "Empêcher le rechargement des patrons" #: /tmp/fish/implicit/share/completions/dropbox.fish:1 -#, fuzzy msgid "Get current status of the dropboxd" -msgstr "Inverser l'état de sortie de la tâche" +msgstr "Obtenir l’état actuel de dropboxd" #: /tmp/fish/implicit/share/completions/dropbox.fish:2 -#, fuzzy msgid "Provide help" -msgstr "Afficher les URIs" +msgstr "Fournir de l’aide" #: /tmp/fish/implicit/share/completions/dropbox.fish:3 msgid "Return 1 if dropbox is running" -msgstr "" +msgstr "Répondre 1 si dropbox est en fonctionnement" #: /tmp/fish/implicit/share/completions/dropbox.fish:4 msgid "Ubuntu: automatically start dropbox at login" -msgstr "" +msgstr "Ubuntu: lancer automatiquement dropbox à la connexion" #: /tmp/fish/implicit/share/completions/dropbox.fish:5 msgid "Start dropboxd" -msgstr "" +msgstr "Démarrer dropboxd" #: /tmp/fish/implicit/share/completions/dropbox.fish:6 msgid "Get public url of a file in your dropbox" -msgstr "" +msgstr "Afficher l’URL publique d’un fichier de votre Dropbox" #: /tmp/fish/implicit/share/completions/dropbox.fish:7 msgid "Stop dropboxd" -msgstr "" +msgstr "Arrêter dropboxd" #: /tmp/fish/implicit/share/completions/dropbox.fish:8 msgid "Get current sync status of one or more files" -msgstr "" +msgstr "Récupérer l’état de synchronisation d’un ou plusieurs fichiers" #: /tmp/fish/implicit/share/completions/dropbox.fish:9 -#, fuzzy msgid "List directory contents with current sync status" -msgstr "Appliquer les modifications au référentiel" +msgstr "Lister le contenu du dossier avec l’état de la synchronisation" #: /tmp/fish/implicit/share/completions/dropbox.fish:10 msgid "Ignores/excludes a directory from syncing" -msgstr "" +msgstr "Exclure un dossier de la synchonisation" #: /tmp/fish/implicit/share/completions/dropbox.fish:11 msgid "Enables or disables LAN sync" -msgstr "" +msgstr "Dés(activer) la synchronisation sur le réseau local" #: /tmp/fish/implicit/share/completions/dropbox.fish:12 msgid "Auto install dropboxd if not available on the system" -msgstr "" +msgstr "Installer automatiquement dropboxd s’il n’est pas disponible" #: /tmp/fish/implicit/share/completions/dropbox.fish:13 msgid "" "Prints out information in a format similar to ls. works best when your " "console supports color :)" msgstr "" +"Afficher les informations au format de sortie de ls ; fonctionne mieux si " +"votre terminal affiche les couleurs :)" #: /tmp/fish/implicit/share/completions/dropbox.fish:14 msgid "Do not ignore entries starting with ." -msgstr "" +msgstr "Ne pas ignorer les entrées préfixées par ." #: /tmp/fish/implicit/share/completions/dropbox.fish:15 msgid "Prints a list of directories currently excluded from syncing" -msgstr "" +msgstr "Afficher la liste des dossiers exclus de la synchronisation" #: /tmp/fish/implicit/share/completions/dropbox.fish:16 -#, fuzzy msgid "Adds one or more directories to the exclusion list" -msgstr "Ajouter un fichier/répertoire au référentiel" +msgstr "Ajouter un ou plusieurs dossiers à la liste des exclus" #: /tmp/fish/implicit/share/completions/dropbox.fish:17 msgid "Removes one or more directories from the exclusion list" -msgstr "" +msgstr "Retirer un ou plusieurs dossiers de la liste des exclus" #: /tmp/fish/implicit/share/completions/du.fish:1 msgid "Write size for all files" -msgstr "" +msgstr "Afficher la taille de tous les fichiers" #: /tmp/fish/implicit/share/completions/du.fish:2 msgid "Print file size, not disk usage" -msgstr "" +msgstr "Afficher la taille du fichier, pas l’espace disque utilisé" #: /tmp/fish/implicit/share/completions/du.fish:3 #: /tmp/fish/implicit/share/completions/tar.fish:13 msgid "Block size" -msgstr "" +msgstr "Taille de bloc" #: /tmp/fish/implicit/share/completions/du.fish:4 -#, fuzzy msgid "Use 1B block size" -msgstr "Grande taille de blocs" +msgstr "Utiliser des blocs d’un octet" #: /tmp/fish/implicit/share/completions/du.fish:5 msgid "Produce grand total" -msgstr "" +msgstr "Calculer le total des totaux" #: /tmp/fish/implicit/share/completions/du.fish:6 -#, fuzzy msgid "Dereference file symlinks" msgstr "Déréférencer les liens symboliques" @@ -15318,54 +15270,51 @@ msgstr "Déréférencer les liens symboliques" #: /tmp/fish/implicit/share/completions/ls.fish:21 #: /tmp/fish/implicit/share/completions/ls.fish:76 msgid "Human readable sizes" -msgstr "" +msgstr "Utiliser les préfixes S.I." #: /tmp/fish/implicit/share/completions/du.fish:8 #: /tmp/fish/implicit/share/completions/ls.fish:41 msgid "Human readable sizes, powers of 1000" -msgstr "" +msgstr "Utiliser les préfixes S.I. décimaux" #: /tmp/fish/implicit/share/completions/du.fish:9 -#, fuzzy msgid "Use 1kB block size" -msgstr "Grande taille de blocs" +msgstr "Utiliser des blocs d’un kilo-octet" #: /tmp/fish/implicit/share/completions/du.fish:10 #, fuzzy msgid "Count hard links multiple times" -msgstr "Exécuter une commande plusieurs fois" +msgstr "Compter plusieurs fois les liens matériels" #: /tmp/fish/implicit/share/completions/du.fish:11 -#, fuzzy msgid "Dereference all symlinks" msgstr "Déréférencer les liens symboliques" #: /tmp/fish/implicit/share/completions/du.fish:12 -#, fuzzy msgid "Do not include subdirectory size" -msgstr "Nettoyer les répertoires source" +msgstr "Ne pas inclure la taille des sous-dossiers" #: /tmp/fish/implicit/share/completions/du.fish:13 msgid "Display only a total for each argument" -msgstr "" +msgstr "N’afficher qu’un total pour chaque argument" #: /tmp/fish/implicit/share/completions/du.fish:14 -#, fuzzy msgid "Skip other file systems" -msgstr "Rechercher un autre système" +msgstr "Passer les systèmes de fichiers tiers" #: /tmp/fish/implicit/share/completions/du.fish:15 +#, fuzzy msgid "Exclude files that match pattern in file" -msgstr "" +msgstr "Exclure les fichiers contenant le motif" #: /tmp/fish/implicit/share/completions/du.fish:16 #: /tmp/fish/implicit/share/completions/ncdu.fish:5 msgid "Exclude files that match pattern" -msgstr "" +msgstr "Exclure les fichiers contenant le motif" #: /tmp/fish/implicit/share/completions/du.fish:17 msgid "Recursion limit" -msgstr "" +msgstr "Limite de récursion" #: /tmp/fish/implicit/share/completions/duply.fish:1 #: /tmp/fish/implicit/share/completions/netctl-auto.fish:13 @@ -15466,29 +15415,27 @@ msgstr "Fichier sources.list de sortie" #: /tmp/fish/implicit/share/completions/echo.fish:1 msgid "Do not output a newline" -msgstr "" +msgstr "Ne pas retourner à la ligne" #: /tmp/fish/implicit/share/completions/echo.fish:2 msgid "Do not separate arguments with spaces" -msgstr "" +msgstr "Ne pas séparer les arguments avec des espaces" #: /tmp/fish/implicit/share/completions/echo.fish:3 msgid "Disable backslash escapes" -msgstr "" +msgstr "Désactiver les séquences d’échappement" #: /tmp/fish/implicit/share/completions/echo.fish:4 msgid "Enable backslash escapes" -msgstr "" +msgstr "Activer les séquences d’échappement" #: /tmp/fish/implicit/share/completions/eix.fish:1 -#, fuzzy msgid "Show a help screen and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/eix.fish:2 #: /tmp/fish/implicit/share/completions/htop.fish:8 #: /tmp/fish/implicit/share/completions/pv.fish:33 -#, fuzzy msgid "Show version and exit" msgstr "Afficher la version et quitter" @@ -16236,67 +16183,65 @@ msgstr "Afficher les dépendances de construction" #: /tmp/fish/implicit/share/completions/encfs.fish:1 msgid "Unmount when idle for specified MINUTES" -msgstr "" +msgstr "Démonter si inactif pendant MINUTES" #: /tmp/fish/implicit/share/completions/encfs.fish:2 -#, fuzzy msgid "Run in the foreground" msgstr "Mettre la tâche en premier plan" #: /tmp/fish/implicit/share/completions/encfs.fish:3 msgid "Verbose messages when run foreground" -msgstr "" +msgstr "Messages détaillés lors du fonctionnement au premier plan" #: /tmp/fish/implicit/share/completions/encfs.fish:4 -#, fuzzy msgid "Run in single threaded mode" -msgstr "Exécuter en mode noninteractif" +msgstr "Exécuter en mono-processus" #: /tmp/fish/implicit/share/completions/encfs.fish:5 msgid "Enables debugging within the FUSE library" -msgstr "" +msgstr "Activer le débogage de la bibliothèque FUSE" #: /tmp/fish/implicit/share/completions/encfs.fish:6 -#, fuzzy msgid "Return data even from corrupted files" -msgstr "Retourner l'information sur l'état de fish" +msgstr "Renvoyer des données même des fichiers corrompus" #: /tmp/fish/implicit/share/completions/encfs.fish:7 msgid "Make files public to all other users" -msgstr "" +msgstr "Rendre les fichiers accessibles à tous les autres utilisateurs" #: /tmp/fish/implicit/share/completions/encfs.fish:8 msgid "Mount the filesystem on-demand" -msgstr "" +msgstr "Monter le système de fichiers à la demande" #: /tmp/fish/implicit/share/completions/encfs.fish:9 +#, fuzzy msgid "Produce encrypted view of plain files" -msgstr "" +msgstr "Afficher une vue chiffrée des fichiers bruts" #: /tmp/fish/implicit/share/completions/encfs.fish:10 msgid "Use standard options when creating filesystem" msgstr "" +"Utiliser des options standard lors de la création du système de fichiers" #: /tmp/fish/implicit/share/completions/encfs.fish:11 msgid "Pass on options to FUSE" -msgstr "" +msgstr "Passer les option à FUSE" #: /tmp/fish/implicit/share/completions/encfs.fish:12 msgid "Don't use the default FUSE flags" -msgstr "" +msgstr "Ne pas utiliser les drapeaux FUSE par défaux" #: /tmp/fish/implicit/share/completions/encfs.fish:13 msgid "Get password from an external program" -msgstr "" +msgstr "Obtenir le mot de passe d’un programme tiers" #: /tmp/fish/implicit/share/completions/encfs.fish:14 -#, fuzzy msgid "Read password from standard input" -msgstr "" +msgstr "Lire le mot de passe depuis l’entrée standard" #: /tmp/fish/implicit/share/completions/encfs.fish:15 msgid "Turn off key validation checking" -msgstr "" +msgstr "Désactiver la vérification de clé" #: /tmp/fish/implicit/share/completions/entr.fish:1 msgid "" @@ -16321,25 +16266,26 @@ msgstr "Gérer les variables d'environnement" #: /tmp/fish/implicit/share/completions/env.fish:2 #: /tmp/fish/implicit/share/completions/nice.fish:1 #: /tmp/fish/implicit/share/completions/time.fish:1 -#, fuzzy msgid "Command" -msgstr "" +msgstr "Commande" #: /tmp/fish/implicit/share/completions/env.fish:3 -#, fuzzy msgid "Start with an empty environment" -msgstr "Impossible de dépiler une pile d'environnement vide" +msgstr "Démarrer avec un environnement vide" #: /tmp/fish/implicit/share/completions/env.fish:4 #, fuzzy msgid "Remove variable from the environment" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer la variable de l’environnement" #: /tmp/fish/implicit/share/completions/equery.fish:3 +#, fuzzy msgid "" "Prints completions for all available categories on the system from /usr/" "portage" msgstr "" +"Afficher les complétions pour toutes les catégories disponibles sur le " +"système depuis /usr/portage" #: /tmp/fish/implicit/share/completions/equery.fish:4 msgid "causes minimal output to be emitted" @@ -16481,11 +16427,11 @@ msgstr "Envoyer un couriel à l'utilisateur" #: /tmp/fish/implicit/share/completions/exit.fish:2 msgid "Quit with normal exit status" -msgstr "" +msgstr "Quitter avec un code de retour normal" #: /tmp/fish/implicit/share/completions/exit.fish:3 msgid "Quit with abnormal exit status" -msgstr "" +msgstr "Quitter avec un code de retour anormal" #: /tmp/fish/implicit/share/completions/expand.fish:1 msgid "do not convert tabs after non blanks" @@ -16892,408 +16838,420 @@ msgstr "Changer le répertoire de travail" #: /tmp/fish/implicit/share/completions/file.fish:1 msgid "Do not prepend filenames to output lines" -msgstr "" +msgstr "Ne pas préfixer les lignes de sortie avec les noms de fichier" #: /tmp/fish/implicit/share/completions/file.fish:2 msgid "Print the parsed form of the magic file" -msgstr "" +msgstr "Afficher la version prémâchée du fichier des nombres magiques" #: /tmp/fish/implicit/share/completions/file.fish:3 msgid "Write an output file containing a pre-parsed version of file" -msgstr "" +msgstr "Créer une version.prémâchée du fichier des nombres magiques" #: /tmp/fish/implicit/share/completions/file.fish:4 -#, fuzzy msgid "Do not follow symlinks" -msgstr "Ne pas déréférencer les liens symboliques" +msgstr "Ne pas suivre les liens symboliques" #: /tmp/fish/implicit/share/completions/file.fish:5 msgid "Output mime type strings instead human readable strings" -msgstr "" +msgstr "Afficher des types MIME au lieu de types compréhensibles par un humain" #: /tmp/fish/implicit/share/completions/file.fish:6 msgid "Don't stop at the first match" -msgstr "" +msgstr "Ne pas s’arrêter à la première occurrence" #: /tmp/fish/implicit/share/completions/file.fish:8 msgid "Flush stdout after checking each file" -msgstr "" +msgstr "Vider le cache de la sortie standard à chaque vérification" #: /tmp/fish/implicit/share/completions/file.fish:9 msgid "Don't pad filenames so that they align in the output" -msgstr "" +msgstr "Ne pas aligner horizontalement les champs de la sortie" #: /tmp/fish/implicit/share/completions/file.fish:10 msgid "Attempt to preserve the access time of files analyzed" msgstr "" +"Essayer de ne pas mettre à jour la date de dernier accès des fichiers " +"analysés" #: /tmp/fish/implicit/share/completions/file.fish:11 msgid "Don't translate unprintable characters to octal" -msgstr "" +msgstr "Ne pas traduire les caractères inaffichables en octal" #: /tmp/fish/implicit/share/completions/file.fish:12 msgid "Read block and character device files too" msgstr "" +"Lire également les fichiers de périphériques en mode bloc et caractères" #: /tmp/fish/implicit/share/completions/file.fish:13 -#, fuzzy msgid "Print the version of the program and exit" -msgstr "Afficher l'historique d'un module" +msgstr "Afficher la version du programme et quitter" #: /tmp/fish/implicit/share/completions/file.fish:14 msgid "Try to look inside compressed files" -msgstr "" +msgstr "Essayer d’examiner le contenu des archives" #: /tmp/fish/implicit/share/completions/file.fish:15 #: /tmp/fish/implicit/share/completions/gv.fish:33 -#, fuzzy msgid "Print a help message and exit" -msgstr "Charger le média et quitter" +msgstr "Afficher un message d’aide et quitter" #: /tmp/fish/implicit/share/completions/file.fish:16 msgid "Read the names of the files to be examined from a file" -msgstr "" +msgstr "Lire les noms des fichiers à examiner depuis un fichier" #: /tmp/fish/implicit/share/completions/file.fish:17 msgid "Use other string as result field separator instead of :" -msgstr "" +msgstr "Utiliser un séparateur de champ autre que : dans le résultat" #: /tmp/fish/implicit/share/completions/file.fish:18 msgid "Alternate list of files containing magic numbers" -msgstr "" +msgstr "Liste alternative de nombres magiques" #: /tmp/fish/implicit/share/completions/find.fish:1 msgid "Never follow symlinks" -msgstr "" +msgstr "Ne jamais suivre les liens symboliques" #: /tmp/fish/implicit/share/completions/find.fish:3 msgid "" "Do not follow symbolic links, except while processing the command line " "arguments" msgstr "" +"Ne pas suivre les liens symboliques, sauf lors du traitement des arguments" #: /tmp/fish/implicit/share/completions/find.fish:4 msgid "Measure from the beginning of today rather than from 24 hours ago" -msgstr "" +msgstr "Calculer depuis minuit au lieu d’il y a 24 heures" #: /tmp/fish/implicit/share/completions/find.fish:5 msgid "Process subdirectories before the directory itself" -msgstr "" +msgstr "Traiter les sous-dossiers avant le dossier lui-même" #: /tmp/fish/implicit/share/completions/find.fish:7 msgid "" "Do not print error messages for files that are deleted while running find" msgstr "" +"Ne pas afficher de message d’erreur pour les fichiers supprimés pendant leur " +"traitement par find" #: /tmp/fish/implicit/share/completions/find.fish:8 msgid "Maximum recursion depth" -msgstr "" +msgstr "Profondeur maximale de récursion" #: /tmp/fish/implicit/share/completions/find.fish:9 msgid "Do not apply any tests or actions at levels less than specified level" msgstr "" +"Ne pas appliquer de test ni d’action à des profondeurs inférieures au niveau " +"spécifié" #: /tmp/fish/implicit/share/completions/find.fish:10 msgid "Don't descend directories on other filesystems" -msgstr "" +msgstr "Ne pas parcourir les dossiers situés sur d’autres systèmes de fichiers" #: /tmp/fish/implicit/share/completions/find.fish:11 msgid "Print error messages for files that are deleted while running find" msgstr "" +"Afficher des messages d’erreur pour les fichiers supprimés pendant leur " +"traitement par find" #: /tmp/fish/implicit/share/completions/find.fish:12 msgid "" "Do not optimize by assuming that directories contain 2 fewer " "subdirectories than their hard link count" msgstr "" +"Ne pas optimiser, en présumant que les dossiers ne contiennent pas . et .." #: /tmp/fish/implicit/share/completions/find.fish:13 -#, fuzzy msgid "Specify regular expression type" -msgstr "Spécifier le type d'enregistrement" +msgstr "Préciser le type d’expression régulière utilisée" #: /tmp/fish/implicit/share/completions/find.fish:15 -#, fuzzy msgid "Turn warnings on" -msgstr "Forcer une nouvelle révision" +msgstr "Afficher les avertissements" #: /tmp/fish/implicit/share/completions/find.fish:16 -#, fuzzy msgid "Turn warnings off" -msgstr "Forcer une nouvelle révision" +msgstr "Ne pas afficher les avertissements" #: /tmp/fish/implicit/share/completions/find.fish:17 msgid "File last accessed specified number of minutes ago" -msgstr "" +msgstr "Le dernier accès au fichier remonte à il y a au plus n minutes" #: /tmp/fish/implicit/share/completions/find.fish:18 -#, fuzzy msgid "File last accessed more recently than file was modified" -msgstr "Afficher la dernière révision où chaque ligne a été modifiée" +msgstr "" +"Le dernier accès au fichier est plus récent que la dernière modification du " +"fichier spécifié" #: /tmp/fish/implicit/share/completions/find.fish:19 msgid "File last accessed specified number of days ago" -msgstr "" +msgstr "Le dernier accès au fichier remonte à il y a au plus n jours" #: /tmp/fish/implicit/share/completions/find.fish:20 msgid "File status last changed specified number of minutes ago" -msgstr "" +msgstr "Le statut du fichier a été modifié il y a au plus n minutes" #: /tmp/fish/implicit/share/completions/find.fish:21 msgid "File status last changed more recently than file was modified" msgstr "" +"Le statut du fichier a été modifié plus récemment que le fichier spécifié" #: /tmp/fish/implicit/share/completions/find.fish:22 msgid "File status last changed specified number of days ago" -msgstr "" +msgstr "Le statut du fichier a été modifié il y a au plus n jours" #: /tmp/fish/implicit/share/completions/find.fish:23 msgid "File is empty and is either a regular file or a directory" -msgstr "" +msgstr "Le fichier est vide et un fichier standard ou un répertoire" #: /tmp/fish/implicit/share/completions/find.fish:24 #: /tmp/fish/implicit/share/completions/test.fish:31 -#, fuzzy msgid "File is executable" -msgstr "Exécutable" +msgstr "Le fichier est exécutable ou le dossier est accessible" #: /tmp/fish/implicit/share/completions/find.fish:25 -#, fuzzy msgid "Always false" -msgstr "Toujours" +msgstr "Toujours faux" #: /tmp/fish/implicit/share/completions/find.fish:26 msgid "File is on filesystem of specified type" -msgstr "" +msgstr "Le fichier est sur un système de fichier du type spécifié" #: /tmp/fish/implicit/share/completions/find.fish:27 msgid "Numeric group id of file" -msgstr "" +msgstr "Le fichier a le groupe au GID spécifié en tant que groupe propriétaire" #: /tmp/fish/implicit/share/completions/find.fish:28 msgid "Group name of file" -msgstr "" +msgstr "Le fichier a le groupe au nom spécifié en tant que groupe propriétaire" #: /tmp/fish/implicit/share/completions/find.fish:29 msgid "File is symlink matching specified case insensitive pattern" msgstr "" +"Le fichier est un lien symbolique vers un fichier dont le nom correspond au " +"motif spécifié sans tenir compte de la casse" #: /tmp/fish/implicit/share/completions/find.fish:30 msgid "File name matches case insensitive pattern" -msgstr "" +msgstr "Le nom du fichier correspond au motif sans tenir compte de la casse" #: /tmp/fish/implicit/share/completions/find.fish:31 -#, fuzzy msgid "File has specified inode number" -msgstr "Utiliser la file spécifiée" +msgstr "Le fichier a l’i-nœud dont le numéro est spécifié" #: /tmp/fish/implicit/share/completions/find.fish:32 msgid "File path matches case insensitive pattern" msgstr "" +"Le chemin absolu du fichier correspond à l’expression régulière sans tenir " +"compte de la casse" #: /tmp/fish/implicit/share/completions/find.fish:33 msgid "File name matches case insensetive regex" msgstr "" +"Le nom du fichier correspond à l’expression régulière sans tenir compte de " +"la casse" #: /tmp/fish/implicit/share/completions/find.fish:34 msgid "File has specified number of links" -msgstr "" +msgstr "Le fichier est la cible de n liens" #: /tmp/fish/implicit/share/completions/find.fish:35 -#, fuzzy msgid "File is symlink matching specified pattern" -msgstr "Afficher les versions complètes pour les paquets" +msgstr "" +"Le fichier est un lien symbolique vers un fichier dont le nom correspond au " +"motif spécifié" #: /tmp/fish/implicit/share/completions/find.fish:36 msgid "File last modified specified number of minutes ago" -msgstr "" +msgstr "Le fichier a été modifié il y a au plus n minutes" #: /tmp/fish/implicit/share/completions/find.fish:37 -#, fuzzy msgid "File last modified more recently than file was modified" -msgstr "Afficher la dernière révision où chaque ligne a été modifiée" +msgstr "Le fichier a été modifié plus récemment que celui spécifié" #: /tmp/fish/implicit/share/completions/find.fish:38 msgid "File last modified specified number of days ago" -msgstr "" +msgstr "Le fichier a été modifié il y a moins de n jours" #: /tmp/fish/implicit/share/completions/find.fish:39 -#, fuzzy msgid "File name matches pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "Le nom du fichier correspond au motif" #: /tmp/fish/implicit/share/completions/find.fish:40 msgid "No user corresponds to file's numeric user ID" -msgstr "" +msgstr "Fichier dont l’UID propriétaire ne correspond à aucun groupe" #: /tmp/fish/implicit/share/completions/find.fish:41 msgid "No group corresponds to file's numeric group ID" -msgstr "" +msgstr "Fichier dont le GID propriétaire ne correspond à aucun groupe" #: /tmp/fish/implicit/share/completions/find.fish:42 -#, fuzzy msgid "File path matches pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "Le chemin complet du fichier correspond au motif" #: /tmp/fish/implicit/share/completions/find.fish:43 msgid "Files has specified permissions set" -msgstr "" +msgstr "Le fichier est doté des permissions d’accès" #: /tmp/fish/implicit/share/completions/find.fish:44 msgid "File name matches regex" -msgstr "" +msgstr "Le nom du fichier correspond à l’expression régulière" #: /tmp/fish/implicit/share/completions/find.fish:45 msgid "File refers to the same inode as specified file" -msgstr "" +msgstr "Le fichier se réfère au même i-nœud que le fichier spécifié" #: /tmp/fish/implicit/share/completions/find.fish:46 msgid "File uses specified units of space" -msgstr "" +msgstr "Le fichier occupe la taille spécifiée" #: /tmp/fish/implicit/share/completions/find.fish:47 -#, fuzzy msgid "Always true" -msgstr "Toujours" +msgstr "Toujours vrai" #: /tmp/fish/implicit/share/completions/find.fish:48 msgid "File is of specified type" -msgstr "" +msgstr "Le fichier est du type spécifié" #: /tmp/fish/implicit/share/completions/find.fish:49 msgid "File's owner has specified numeric user ID" -msgstr "" +msgstr "UID de l’utilisateur propriétaire du fichier" #: /tmp/fish/implicit/share/completions/find.fish:50 msgid "" "File was last accessed specified number of days after its status was last " "changed" msgstr "" +"Fichier dont le dernier accès date de n jours après sa date de dernière " +"modification" #: /tmp/fish/implicit/share/completions/find.fish:51 msgid "File's owner" -msgstr "" +msgstr "Utilisateur propriétaire du fichier" #: /tmp/fish/implicit/share/completions/find.fish:52 +#, fuzzy msgid "" "Check type of file - in case of symlink, check the file that is not checked " "by -type" msgstr "" +"Vérifier de type du fichier — s’il est un lien symbolique, vérifier le " +"fichier qui n’est pas vérifié par -type" #: /tmp/fish/implicit/share/completions/find.fish:53 msgid "File's security context matches specified pattern" -msgstr "" +msgstr "Le contexte SELinux du fichier correspond au motif spécifié" #: /tmp/fish/implicit/share/completions/find.fish:54 -#, fuzzy msgid "Delete selected files" -msgstr "Supprimer les fichiers obsolètes" +msgstr "Supprimer les fichiers trouvés" #: /tmp/fish/implicit/share/completions/find.fish:55 -#, fuzzy msgid "Execute specified command for each located file" -msgstr "Exécuter la commande si la précédente a échoué" +msgstr "Exécuter la commande spécifiée pour chaque fichier trouvé" #: /tmp/fish/implicit/share/completions/find.fish:56 msgid "Execute specified command for each located file, in the files directory" msgstr "" +"Exécuter la commande spécifiée pour chaque fichier trouvé, dans le dossier " +"contenant le fichier" #: /tmp/fish/implicit/share/completions/find.fish:57 msgid "List file in ls -dils format, write to specified file" msgstr "" +"Enregistrer, dans le fichier spécifié, les chemins des fichiers au format ls " +"-dils" #: /tmp/fish/implicit/share/completions/find.fish:58 -#, fuzzy msgid "Print full file names into specified file" -msgstr "Spécifier les noms de fichier à filtrer" +msgstr "Enregistrer, dans le fichier spécifié, les chemins absolus des fichiers" #: /tmp/fish/implicit/share/completions/find.fish:59 msgid "Print null separated full file names into specified file" msgstr "" +"Enregistrer, dans le fichier spécifié, les chemins absolus des fichiers " +"séparés par \\0" #: /tmp/fish/implicit/share/completions/find.fish:60 msgid "Print formated data into specified file" -msgstr "" +msgstr "Enregistrer, dans le fichier spécifié, le résultat au format indiqué" #: /tmp/fish/implicit/share/completions/find.fish:61 msgid "Execute specified command for each located file after asking user" msgstr "" +"Exécuter la commande spécifiée pour chaque fichier trouvé après accord de " +"l’utilisateur" #: /tmp/fish/implicit/share/completions/find.fish:62 -#, fuzzy msgid "Print full file names" -msgstr "Afficher tous les noms" +msgstr "Afficher les chemins absolus des fichiers" #: /tmp/fish/implicit/share/completions/find.fish:63 msgid "" "Execute specified command for each located file, in the files directory, " "after asking user" msgstr "" +"Exécuter la commande spécifiée pour chaque fichier trouvé, dans le dossier " +"contenant le fichier, après accord de l’utilisateur" #: /tmp/fish/implicit/share/completions/find.fish:64 msgid "Print null separated full file names" -msgstr "" +msgstr "Afficher les chemins absolus des fichiers séparés par \\0" #: /tmp/fish/implicit/share/completions/find.fish:65 -#, fuzzy msgid "Print formated data" -msgstr "Affiche le texte formaté" +msgstr "Afficher le résultat au format indiqué" #: /tmp/fish/implicit/share/completions/find.fish:66 msgid "Do not recurse unless -depth is specified" -msgstr "" +msgstr "Ne pas faire de récursion sauf si -depth est spécifié" #: /tmp/fish/implicit/share/completions/find.fish:67 -#, fuzzy msgid "Exit at once" -msgstr "Quitter le shell" +msgstr "Quitter immédiatement" #: /tmp/fish/implicit/share/completions/find.fish:68 -#, fuzzy msgid "List file in ls -dils format" -msgstr "Lister les bogues au format rss" +msgstr "Lister les fichiers au format ls -dils" #: /tmp/fish/implicit/share/completions/find.fish:69 -#, fuzzy msgid "Negate result of action" -msgstr "Inverser l'état de sortie de la tâche" +msgstr "Inverser le résultat de l’action" #: /tmp/fish/implicit/share/completions/find.fish:70 msgid "Result is only true if both previous and next action are true" msgstr "" +"Le résultat n’est vrai que si les actions précédente et suivante sont toutes " +"deux vraies" #: /tmp/fish/implicit/share/completions/find.fish:71 msgid "Result is true if either previous or next action are true" -msgstr "" +msgstr "Le résultat est vrai si l’action précédente ou suivante est vraie" #: /tmp/fish/implicit/share/completions/fish.fish:1 -#, fuzzy msgid "Run fish with this command" -msgstr "Définir ou obtenir la ligne de commande" +msgstr "Exécuter la commande spécifiée au lieu d’afficher l’invite" #: /tmp/fish/implicit/share/completions/fish.fish:4 msgid "Only parse input, do not execute" msgstr "" +"Ne faire que la vérification syntaxique de la commande, pas son exécution" #: /tmp/fish/implicit/share/completions/fish.fish:5 -#, fuzzy msgid "Run in interactive mode" -msgstr "Exécuter en mode noninteractif" +msgstr "Exécuter en mode interactif" #: /tmp/fish/implicit/share/completions/fish.fish:6 -#, fuzzy msgid "Run in login mode" -msgstr "Exécuter en mode fictif" +msgstr "Exécuter fish comme un shell de connexion" #: /tmp/fish/implicit/share/completions/fish.fish:7 -#, fuzzy msgid "Output profiling information to specified file" -msgstr "Écriture des informations de profilage dans le fichier '%s' impossible" +msgstr "Écriture des informations de profilage dans le fichier spécifié" #: /tmp/fish/implicit/share/completions/fish.fish:8 -#, fuzzy msgid "Run with the specified verbosity level" -msgstr "Fichier sources.list de sortie" +msgstr "Exécuter avec la verbosité spécifiée" #: /tmp/fish/implicit/share/completions/fish_indent.fish:3 msgid "Do not indent output, only reformat into one job per line" @@ -18907,161 +18865,152 @@ msgstr "Afficher l'historique d'un module" #: /tmp/fish/implicit/share/completions/rejmerge.fish:3 #: /tmp/fish/implicit/share/completions/root.fish:6 #: /tmp/fish/implicit/share/completions/zypper.fish:3 -#, fuzzy msgid "Print help" -msgstr "Afficher les URIs" +msgstr "Afficher l’aide" #: /tmp/fish/implicit/share/completions/funced.fish:1 #: /tmp/fish/implicit/share/completions/funcsave.fish:1 -#, fuzzy msgid "Save function" -msgstr "Fonction" +msgstr "Enregistrer la fonction" #: /tmp/fish/implicit/share/completions/funced.fish:2 +#, fuzzy msgid "Open function in external editor" -msgstr "" +msgstr "Ouvrir la fonction dans un éditeur externe" #: /tmp/fish/implicit/share/completions/funced.fish:3 -#, fuzzy msgid "Edit in interactive mode" -msgstr "Exécuter en mode noninteractif" +msgstr "Éditer interactivement" #: /tmp/fish/implicit/share/completions/function.fish:1 #: /tmp/fish/implicit/share/completions/functions.fish:5 -#, fuzzy msgid "Set function description" -msgstr "bloc de définition de fonction" +msgstr "Préciser la description de la fonction" #: /tmp/fish/implicit/share/completions/function.fish:2 #: /tmp/fish/implicit/share/completions/functions.fish:2 #: /tmp/fish/implicit/share/completions/type.fish:9 -#, fuzzy msgid "Function" msgstr "Fonction" #: /tmp/fish/implicit/share/completions/function.fish:3 #: /tmp/fish/implicit/share/completions/type.fish:8 -#, fuzzy msgid "Builtin" msgstr "Commande interne" #: /tmp/fish/implicit/share/completions/function.fish:4 -#, fuzzy msgid "Make the function a job exit event handler" -msgstr "" +msgstr "Utiliser la fonction comme un gestionnaire d’événement de fin de tâche" #: /tmp/fish/implicit/share/completions/function.fish:5 msgid "Make the function a process exit event handler" msgstr "" +"Utiliser la fonction comme un gestionnaire d’événement de fin de processus" #: /tmp/fish/implicit/share/completions/function.fish:6 msgid "Make the function a signal event handler" -msgstr "" +msgstr "Utiliser la fonction comme un gestionnaire de signaux" #: /tmp/fish/implicit/share/completions/function.fish:7 msgid "Make the function a variable update event handler" msgstr "" +"Utiliser la fonction comme un gestionnaire d’événement de mise à jour de " +"variable" #: /tmp/fish/implicit/share/completions/function.fish:8 msgid "Make the function a generic event handler" -msgstr "" +msgstr "Utiliser la fonction comme un gestionnaire d’événements génériques" #: /tmp/fish/implicit/share/completions/function.fish:9 -#, fuzzy msgid "Specify named arguments" -msgstr "Spécifier le type d'enregistrement" +msgstr "Spécifier le nom des arguments" #: /tmp/fish/implicit/share/completions/function.fish:10 msgid "Do not shadow variable scope of calling function" -msgstr "" +msgstr "Laisser la fonction accéder au contexte du code l’appelant" #: /tmp/fish/implicit/share/completions/function.fish:11 msgid "Inherit completions from the given command" -msgstr "" +msgstr "Hériter des complétions de la commande spécifiée" #: /tmp/fish/implicit/share/completions/functions.fish:1 -#, fuzzy msgid "Erase function" -msgstr "Fonction" +msgstr "Effacer la fonction" #: /tmp/fish/implicit/share/completions/functions.fish:3 -#, fuzzy msgid "Show hidden functions" -msgstr "Afficher les dépendances de construction" +msgstr "Afficher les fonctions masquées" #: /tmp/fish/implicit/share/completions/functions.fish:6 -#, fuzzy msgid "Test if function is defined" -msgstr "bloc de définition de fonction" +msgstr "Vérifier l’existence de la fonction" #: /tmp/fish/implicit/share/completions/functions.fish:7 msgid "List the names of the functions, but not their definition" -msgstr "" +msgstr "Lister les noms des fonctions sans leur définition" #: /tmp/fish/implicit/share/completions/functions.fish:8 msgid "Copy the specified function to the specified new name" -msgstr "" +msgstr "Dupliquer la fonction sous un autre nom" #: /tmp/fish/implicit/share/completions/functions.fish:9 -#, fuzzy msgid "Display data about the function" -msgstr "Afficher $ à la fin du fichier" +msgstr "Afficher les informations sur la fonction" #: /tmp/fish/implicit/share/completions/functions.fish:10 -#, fuzzy msgid "Print more output" -msgstr "Envoyer les fichiers vers le tube stdout" +msgstr "Être bavard" #: /tmp/fish/implicit/share/completions/fuser.fish:1 msgid "Show all files specified on the command line" -msgstr "" +msgstr "Afficher tous les fichiers indiqués sur la ligne de commande" #: /tmp/fish/implicit/share/completions/fuser.fish:2 msgid "Kill processes, accessing the file" -msgstr "" +msgstr "Tuer les processus accédant au fichier" #: /tmp/fish/implicit/share/completions/fuser.fish:3 msgid "Ask the user for confirmation before killing a process" -msgstr "" +msgstr "Demander confirmation avant de tuer un processus" #: /tmp/fish/implicit/share/completions/fuser.fish:4 -#, fuzzy msgid "List all known signal names" -msgstr "" +msgstr "Lister tous les noms connus de signaux" #: /tmp/fish/implicit/share/completions/fuser.fish:5 msgid "All processes accessing files on that file system are listed" msgstr "" +"Lister tous les processus accédant à des fichiers situés sur le même système " +"de fichiers que celui du fichier précisé" #: /tmp/fish/implicit/share/completions/fuser.fish:6 msgid "Request will be fulfilled if -m specifies a mountpoint" -msgstr "" +msgstr "Les requêtes ne seront exécutées que si -m précise un point de montage" #: /tmp/fish/implicit/share/completions/fuser.fish:7 msgid "Kill only processes which have write access" -msgstr "" +msgstr "Ne tuer que les processus dotés de droits d’écriture" #: /tmp/fish/implicit/share/completions/fuser.fish:8 #, fuzzy msgid "Slect a different namespace" -msgstr "Choisir l'interface de façade" +msgstr "Choisir un espace de nommage différent" #: /tmp/fish/implicit/share/completions/fuser.fish:9 -#, fuzzy msgid "Silent operation" -msgstr "Choisir une action" +msgstr "Opérer silencieusement" #: /tmp/fish/implicit/share/completions/fuser.fish:10 msgid "Append the user name of the process owner to each PID" -msgstr "" +msgstr "Préfixer chaque PID avec le nom de son utilisateur propriétaire" #: /tmp/fish/implicit/share/completions/fuser.fish:13 msgid "Search only for IPv4 sockets" -msgstr "" +msgstr "Rechercher seulement parmi les sockets IPv4" #: /tmp/fish/implicit/share/completions/fuser.fish:14 msgid "Search only for IPv6 sockets" -msgstr "" +msgstr "Rechercher seulement parmi les sockets IPv6" #: /tmp/fish/implicit/share/completions/fusermount.fish:4 #: /tmp/fish/implicit/share/completions/sshfs.fish:4 @@ -24690,138 +24639,131 @@ msgstr "" #: /tmp/fish/implicit/share/completions/gem.fish:1 #, fuzzy msgid "Print usage informations and quit" -msgstr "Afficher l'historique d'un module" +msgstr "Afficher des informations d’utilisation et quitter" #: /tmp/fish/implicit/share/completions/gem.fish:2 -#, fuzzy msgid "Print the version and quit" -msgstr "Charger le média et quitter" +msgstr "Afficher la version et quitter" #: /tmp/fish/implicit/share/completions/gem.fish:3 msgid "Use URL as the remote source for gems" -msgstr "" +msgstr "Utiliser l’URL comme source distante de gemmes" #: /tmp/fish/implicit/share/completions/gem.fish:4 msgid "Use the given HTTP proxy for remote operations" -msgstr "" +msgstr "Utiliser le mandataire HTTP spécifié pour les opérations distantes" #: /tmp/fish/implicit/share/completions/gem.fish:5 msgid "Use no HTTP proxy for remote operations" -msgstr "" +msgstr "Ne pas utiliser de mandataire HTTP pour les opérations distantes" #: /tmp/fish/implicit/share/completions/gem.fish:6 -#, fuzzy msgid "Get help on this command" -msgstr "Définir ou obtenir la ligne de commande" +msgstr "Obtenir de l’aide sur cette commande" #: /tmp/fish/implicit/share/completions/gem.fish:7 msgid "Set the verbose level of output" -msgstr "" +msgstr "Paramétrer la jactance de sortie" #: /tmp/fish/implicit/share/completions/gem.fish:8 msgid "Use this config file instead of default" -msgstr "" +msgstr "Utiliser ce fichier de configuration au lieu de celui par défaut" #: /tmp/fish/implicit/share/completions/gem.fish:9 msgid "Show stack backtrace on errors" -msgstr "" +msgstr "Afficher la pile d’exécution en cas d’erreur" #: /tmp/fish/implicit/share/completions/gem.fish:10 msgid "Turn on Ruby debugging" -msgstr "" +msgstr "Activer le débogage Ruby" #: /tmp/fish/implicit/share/completions/gem.fish:11 msgid "Add a trusted certificate" -msgstr "" +msgstr "Ajouter un certificat de confiance" #: /tmp/fish/implicit/share/completions/gem.fish:12 -#, fuzzy msgid "List trusted certificates" -msgstr "Lister les clés de confiance" +msgstr "Lister les certificats de confiance" #: /tmp/fish/implicit/share/completions/gem.fish:13 msgid "Remove trusted certificates containing STRING" -msgstr "" +msgstr "Supprimer les certificats de confiance contenant CHAÎNE" #: /tmp/fish/implicit/share/completions/gem.fish:14 msgid "Build private key and self-signed certificate for EMAIL_ADDR" -msgstr "" +msgstr "Créer une clé privée et un certificat auto-signé pour ADDR_EMAIL" #: /tmp/fish/implicit/share/completions/gem.fish:15 msgid "Certificate for --sign command" -msgstr "" +msgstr "Certificat pour la commande --sign" #: /tmp/fish/implicit/share/completions/gem.fish:16 msgid "Private key for --sign command" -msgstr "" +msgstr "Clé privée pour la commande --sign" #: /tmp/fish/implicit/share/completions/gem.fish:17 msgid "Sign a certificate with my key and certificate" -msgstr "" +msgstr "Signer un certificat avec ma clé et mon certificat" #: /tmp/fish/implicit/share/completions/gem.fish:18 msgid "Verify gem file against its internal checksum" msgstr "" +"Vérifier que la somme de contrôle de la gemme correspond à celle qu’elle " +"fournit" #: /tmp/fish/implicit/share/completions/gem.fish:19 msgid "Report 'unmanaged' or rogue files in the gem repository" msgstr "" +"Rapporter les gemmes non maintenues ou hors contexte dans le dépôt des gemmes" #: /tmp/fish/implicit/share/completions/gem.fish:20 msgid "Run unit tests for gem" -msgstr "" +msgstr "Exécuter les tests unitaire de la gemme" #: /tmp/fish/implicit/share/completions/gem.fish:21 msgid "Specify version for which to run unit tests" -msgstr "" +msgstr "Préciser la version pour laquelle exécuter les tests unitaires" #: /tmp/fish/implicit/share/completions/gem.fish:22 -#, fuzzy msgid "Don't really cleanup" -msgstr "Pas de récursion" +msgstr "Ne pas faire réellement le ménage" #: /tmp/fish/implicit/share/completions/gem.fish:23 msgid "List the files inside a Gem" -msgstr "" +msgstr "Lister les fichiers contenu par la gemme" #: /tmp/fish/implicit/share/completions/gem.fish:24 -#, fuzzy msgid "Specify version for gem to view" -msgstr "Spécifier le format de ligne" +msgstr "Spécifier la version de la gemme à examiner" #: /tmp/fish/implicit/share/completions/gem.fish:25 -#, fuzzy msgid "Search for gems under specific paths" -msgstr "Définir les options spécifiques au pilote" +msgstr "Rechercher les gemmes dans un dossier spécifié" #: /tmp/fish/implicit/share/completions/gem.fish:26 msgid "Be verbose when showing status" -msgstr "" +msgstr "Être bavard en affichant l’état" #: /tmp/fish/implicit/share/completions/gem.fish:27 #: /tmp/fish/implicit/share/completions/gem.fish:82 -#, fuzzy msgid "Specify version of gem to uninstall" -msgstr "Liste des paquets à installer" +msgstr "Spécifier la version de la gemme à désinstaller" #: /tmp/fish/implicit/share/completions/gem.fish:28 -#, fuzzy msgid "Include reverse dependencies in the output" -msgstr "Lister les dépendances inverses du paquet" +msgstr "Inclure les dépendances inverses dans la sortie" #: /tmp/fish/implicit/share/completions/gem.fish:29 -#, fuzzy msgid "Don't include reverse dependencies in the output" -msgstr "Lister les dépendances inverses du paquet" +msgstr "Ne pas inclure les dépendances inverses dans la sortie" #: /tmp/fish/implicit/share/completions/gem.fish:30 msgid "Pipe Format (name --version ver)" -msgstr "" +msgstr "Format pour tube (nom --version ver)" #: /tmp/fish/implicit/share/completions/gem.fish:31 -#, fuzzy msgid "Specify version of gem to install" -msgstr "Liste des paquets à installer" +msgstr "Spécifier la version de la gemme à installer" #: /tmp/fish/implicit/share/completions/gem.fish:32 #: /tmp/fish/implicit/share/completions/gem.fish:51 @@ -24829,7 +24771,7 @@ msgstr "Liste des paquets à installer" #: /tmp/fish/implicit/share/completions/gem.fish:68 #: /tmp/fish/implicit/share/completions/gem.fish:72 msgid "Restrict operations to the LOCAL domain (default)" -msgstr "" +msgstr "Restreindre les opérations au domaine LOCAL (défaut)" #: /tmp/fish/implicit/share/completions/gem.fish:33 #: /tmp/fish/implicit/share/completions/gem.fish:52 @@ -24837,7 +24779,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/gem.fish:69 #: /tmp/fish/implicit/share/completions/gem.fish:73 msgid "Restrict operations to the REMOTE domain" -msgstr "" +msgstr "Restreindre les opérations au domaine DISTANT" #: /tmp/fish/implicit/share/completions/gem.fish:34 #: /tmp/fish/implicit/share/completions/gem.fish:53 @@ -24845,190 +24787,195 @@ msgstr "" #: /tmp/fish/implicit/share/completions/gem.fish:70 #: /tmp/fish/implicit/share/completions/gem.fish:74 msgid "Allow LOCAL and REMOTE operations" -msgstr "" +msgstr "Autoriser les opérations sur LOCAL et DISTANT" #: /tmp/fish/implicit/share/completions/gem.fish:35 #: /tmp/fish/implicit/share/completions/gem.fish:84 msgid "Gem repository directory to get installed gems" -msgstr "" +msgstr "Dossier dépôt de gemmes d’où récupérer les gemmes installées" #: /tmp/fish/implicit/share/completions/gem.fish:36 #: /tmp/fish/implicit/share/completions/gem.fish:85 msgid "Generate RDoc documentation for the gem on install" -msgstr "" +msgstr "Générer la documentation RDoc de la gemme en installation" #: /tmp/fish/implicit/share/completions/gem.fish:37 #: /tmp/fish/implicit/share/completions/gem.fish:86 msgid "Don't generate RDoc documentation for the gem on install" -msgstr "" +msgstr "Ne pas générer la documentation RDoc de la gemme en installation" #: /tmp/fish/implicit/share/completions/gem.fish:38 #: /tmp/fish/implicit/share/completions/gem.fish:87 msgid "Generate RI documentation for the gem on install" -msgstr "" +msgstr "Générer la documentation RI de la gemme en installation" #: /tmp/fish/implicit/share/completions/gem.fish:39 #: /tmp/fish/implicit/share/completions/gem.fish:88 msgid "Don't generate RI documentation for the gem on install" -msgstr "" +msgstr "Ne pas générer la documentation RI de la gemme en installation" #: /tmp/fish/implicit/share/completions/gem.fish:40 #: /tmp/fish/implicit/share/completions/gem.fish:89 msgid "Force gem to install, bypassing dependency checks" msgstr "" +"Forcer l’installation de la gemme, en outrepassant les vérifications de " +"dépendances" #: /tmp/fish/implicit/share/completions/gem.fish:41 #: /tmp/fish/implicit/share/completions/gem.fish:90 msgid "Don't force gem to install, bypassing dependency checks" msgstr "" +"Ne pas forcer l’installation de la gemme en outrepassant les vérifications " +"de dépendances" #: /tmp/fish/implicit/share/completions/gem.fish:42 #: /tmp/fish/implicit/share/completions/gem.fish:91 msgid "Run unit tests prior to installation" -msgstr "" +msgstr "Exécuter les tests unitaires avant l’installation" #: /tmp/fish/implicit/share/completions/gem.fish:43 #: /tmp/fish/implicit/share/completions/gem.fish:92 msgid "Don't run unit tests prior to installation" -msgstr "" +msgstr "Ne pas exécuter les tests unitaires avant l’installation" #: /tmp/fish/implicit/share/completions/gem.fish:44 #: /tmp/fish/implicit/share/completions/gem.fish:93 +#, fuzzy msgid "Use bin wrappers for executables" -msgstr "" +msgstr "Utiliser des encapsuleurs binaires pour les exécutables" #: /tmp/fish/implicit/share/completions/gem.fish:45 #: /tmp/fish/implicit/share/completions/gem.fish:94 +#, fuzzy msgid "Don't use bin wrappers for executables" -msgstr "" +msgstr "Ne pas utiliser des encapsuleurs binaires pour les exécutables" #: /tmp/fish/implicit/share/completions/gem.fish:46 #: /tmp/fish/implicit/share/completions/gem.fish:95 msgid "Specify gem trust policy" -msgstr "" +msgstr "Spécifier la politique de confiance des gemmes" #: /tmp/fish/implicit/share/completions/gem.fish:47 #: /tmp/fish/implicit/share/completions/gem.fish:96 +#, fuzzy msgid "Do not install any required dependent gems" -msgstr "" +msgstr "N’installer aucune gemme de dépendance obligatoire" #: /tmp/fish/implicit/share/completions/gem.fish:48 #: /tmp/fish/implicit/share/completions/gem.fish:97 msgid "Unconditionally install the required dependent gems" -msgstr "" +msgstr "Installer sans condition les gemmes de dépendances obligatoires" #: /tmp/fish/implicit/share/completions/gem.fish:49 #: /tmp/fish/implicit/share/completions/gem.fish:55 #: /tmp/fish/implicit/share/completions/gem.fish:66 -#, fuzzy msgid "Display detailed information of gem(s)" -msgstr "Afficher l'aide pour la commande" +msgstr "Afficher les informations détaillées sur la ou les gemmes" #: /tmp/fish/implicit/share/completions/gem.fish:50 #: /tmp/fish/implicit/share/completions/gem.fish:56 #: /tmp/fish/implicit/share/completions/gem.fish:67 -#, fuzzy msgid "Don't display detailed information of gem(s)" -msgstr "Afficher l'aide pour la commande" +msgstr "Ne pas afficher les informations détaillées sur la ou les gemmes" #: /tmp/fish/implicit/share/completions/gem.fish:54 +#, fuzzy msgid "Name of gem(s) to query on matches the provided REGEXP" -msgstr "" +msgstr "Le nom de la ou des gemmes correspond à la REGEXP fournie" #: /tmp/fish/implicit/share/completions/gem.fish:60 msgid "Generate RDoc/RI documentation for all installed gems" -msgstr "" +msgstr "Générer les documentations RDoc/RI pour toutes les gemmes installées" #: /tmp/fish/implicit/share/completions/gem.fish:61 msgid "Include RDoc generated documents" -msgstr "" +msgstr "Inclure les documents RDoc générés" #: /tmp/fish/implicit/share/completions/gem.fish:62 msgid "Don't include RDoc generated documents" -msgstr "" +msgstr "Ne pas inclure les documents RDoc générés" #: /tmp/fish/implicit/share/completions/gem.fish:63 msgid "Include RI generated documents" -msgstr "" +msgstr "Inclure les documents RI générés" #: /tmp/fish/implicit/share/completions/gem.fish:64 msgid "Don't include RI generated documents" -msgstr "" +msgstr "Ne pas inclure les documents RI générés" #: /tmp/fish/implicit/share/completions/gem.fish:65 msgid "Specify version of gem to rdoc" msgstr "" +"Spécifier la version de la gemme dont la documentation RDoc est à générer" #: /tmp/fish/implicit/share/completions/gem.fish:71 msgid "Specify version of gem to examine" -msgstr "" +msgstr "Spécifier la version de la gemme à examiner" #: /tmp/fish/implicit/share/completions/gem.fish:75 msgid "Output specifications for all versions of the gem" -msgstr "" +msgstr "Générer les spécifications pour toutes les versions de la gemme" #: /tmp/fish/implicit/share/completions/gem.fish:76 -#, fuzzy msgid "Uninstall all matching versions" -msgstr "Afficher toutes les versions" +msgstr "Désinstaller toutes les versions correspondantes" #: /tmp/fish/implicit/share/completions/gem.fish:77 msgid "Don't uninstall all matching versions" -msgstr "" +msgstr "Ne pas désinstaller toutes les versions correspondantes" #: /tmp/fish/implicit/share/completions/gem.fish:78 msgid "Ignore dependency requirements while uninstalling" -msgstr "" +msgstr "Ignorer les contraintes de dépendances lors de la désinstallation" #: /tmp/fish/implicit/share/completions/gem.fish:79 msgid "Don't ignore dependency requirements while uninstalling" msgstr "" +"Ne pas ignorer les contraintes de dépendances lors de la désinstallation" #: /tmp/fish/implicit/share/completions/gem.fish:80 msgid "Uninstall applicable executables without confirmation" -msgstr "" +msgstr "Désinstaller les exécutables sélectionnés sans confirmation" #: /tmp/fish/implicit/share/completions/gem.fish:81 msgid "Don't uninstall applicable executables without confirmation" -msgstr "" +msgstr "Ne pas désinstaller les exécutables sélectionnés sans confirmation" #: /tmp/fish/implicit/share/completions/gem.fish:83 msgid "Specify version of gem to unpack" -msgstr "" +msgstr "Spécifier la version de la gemme à déballer" #: /tmp/fish/implicit/share/completions/gem.fish:98 msgid "Update the RubyGems system software" -msgstr "" +msgstr "Mettre à jour le logiciel RubyGems" #: /tmp/fish/implicit/share/completions/git.fish:1 msgid "Display the manual of a git command" -msgstr "" +msgstr "Afficher le manuel d’une commande git" #: /tmp/fish/implicit/share/completions/git.fish:3 msgid "Run as if git was started in this directory" -msgstr "" +msgstr "Exécuter comme si git était démarré dans ce dossier" #: /tmp/fish/implicit/share/completions/git.fish:5 msgid "Get or set the path to the git programs" -msgstr "" +msgstr "Obtenir ou paramétrer le chemin vers les programmes git" #: /tmp/fish/implicit/share/completions/git.fish:6 msgid "Print the path to the html documentation" -msgstr "" +msgstr "Afficher le chemin vers la documentation HTML" #: /tmp/fish/implicit/share/completions/git.fish:7 msgid "Print the path to the man documentation" -msgstr "" +msgstr "Afficher le chemin vers la documentation man" #: /tmp/fish/implicit/share/completions/git.fish:8 -#, fuzzy msgid "Print the path to the info documentation" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Afficher le chemin vers la documentation info" #: /tmp/fish/implicit/share/completions/git.fish:9 -#, fuzzy msgid "Pipe output into a pager" -msgstr "Concatène la sortie à un fichier" +msgstr "Envoyer la sortie dans un visionneur" #: /tmp/fish/implicit/share/completions/git.fish:10 #: /tmp/fish/implicit/share/completions/journalctl.fish:6 @@ -25037,58 +24984,54 @@ msgstr "Concatène la sortie à un fichier" #: /tmp/fish/implicit/share/completions/systemctl.fish:48 #: /tmp/fish/implicit/share/completions/systemd-analyze.fish:5 #: /tmp/fish/implicit/share/completions/timedatectl.fish:9 -#, fuzzy msgid "Do not pipe output into a pager" -msgstr "Impossible de remettre le shell en premier plan" +msgstr "Ne pas envoyer la sortie dans un visionneur" #: /tmp/fish/implicit/share/completions/git.fish:11 -#, fuzzy msgid "Set the path to the repository" -msgstr "Mettre à jour le référentiel" +msgstr "Paramétrer le chemin vers le dépôt" #: /tmp/fish/implicit/share/completions/git.fish:12 -#, fuzzy msgid "Set the path to the working tree" -msgstr "Définir la vitesse d'écriture" +msgstr "Paramétrer le chemin vers la copie de travail" #: /tmp/fish/implicit/share/completions/git.fish:13 -#, fuzzy msgid "Set the namespace" -msgstr "Mode serveur" +msgstr "Paramétrer l’espace de nommage" #: /tmp/fish/implicit/share/completions/git.fish:14 -#, fuzzy msgid "Treat the repository as bare" -msgstr "Mettre à jour le référentiel" +msgstr "Considérer le dépôt comme nu" #: /tmp/fish/implicit/share/completions/git.fish:15 msgid "Do not use replacement refs to replace git objects" msgstr "" +"Ne pas utiliser les références de remplacement pour remettre en place les " +"objets git" #: /tmp/fish/implicit/share/completions/git.fish:16 msgid "Treat pathspecs literally" -msgstr "" +msgstr "Évaluer littéralement les spécificateurs de chemin" #: /tmp/fish/implicit/share/completions/git.fish:17 msgid "Treat pathspecs as globs" -msgstr "" +msgstr "Évaluer les spécificateurs de chemin comme des globs" #: /tmp/fish/implicit/share/completions/git.fish:18 msgid "Don't treat pathspecs as globs" -msgstr "" +msgstr "Ne pas évaluer les spécificateurs de chemin comme des globs" #: /tmp/fish/implicit/share/completions/git.fish:19 msgid "Match pathspecs case-insensitively" -msgstr "" +msgstr "Comparer les spécificateurs de chemins sans tenir compte de la casse" #: /tmp/fish/implicit/share/completions/git.fish:20 -#, fuzzy msgid "Download objects and refs from another repository" -msgstr "Enlever un fichier du référentiel" +msgstr "Télécharger les objets et les références à partir d’un autre dépôt" #: /tmp/fish/implicit/share/completions/git.fish:21 msgid "Remote" -msgstr "" +msgstr "Distant" #: /tmp/fish/implicit/share/completions/git.fish:22 #: /tmp/fish/implicit/share/completions/git.fish:62 @@ -25106,7 +25049,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/git.fish:279 #: /tmp/fish/implicit/share/completions/git.fish:301 msgid "Branch" -msgstr "" +msgstr "Branche" #: /tmp/fish/implicit/share/completions/git.fish:23 #: /tmp/fish/implicit/share/completions/git.fish:195 @@ -25115,9 +25058,8 @@ msgstr "" #: /tmp/fish/implicit/share/completions/git.fish:245 #: /tmp/fish/implicit/share/completions/git.fish:268 #: /tmp/fish/implicit/share/completions/update-eix-remote.fish:1 -#, fuzzy msgid "Be quiet" -msgstr "Exécution en silence" +msgstr "Être silencieux" #: /tmp/fish/implicit/share/completions/git.fish:24 #: /tmp/fish/implicit/share/completions/git.fish:41 @@ -25129,1346 +25071,1362 @@ msgstr "Exécution en silence" #: /tmp/fish/implicit/share/completions/prt-get.fish:53 #: /tmp/fish/implicit/share/completions/prt-get.fish:111 #: /tmp/fish/implicit/share/completions/xz.fish:32 -#, fuzzy msgid "Be verbose" -msgstr "Ne pas écraser" +msgstr "Être bavard" #: /tmp/fish/implicit/share/completions/git.fish:25 #: /tmp/fish/implicit/share/completions/git.fish:210 msgid "Append ref names and object names" -msgstr "" +msgstr "Ajouter les noms des références et ceux des objets" #: /tmp/fish/implicit/share/completions/git.fish:26 #: /tmp/fish/implicit/share/completions/git.fish:211 msgid "Force update of local branches" -msgstr "" +msgstr "Forcer la mise à jour des branches locales" #: /tmp/fish/implicit/share/completions/git.fish:27 msgid "Rewrite branches" -msgstr "" +msgstr "Ré-écrire les branches" #: /tmp/fish/implicit/share/completions/git.fish:28 msgid "This filter may be used if you only need to modify the environment" msgstr "" +"Ce filtre peut être utilisé si vous avez seulement besoin de modifier " +"l’environnement" #: /tmp/fish/implicit/share/completions/git.fish:29 msgid "This is the filter for rewriting the tree and its contents." msgstr "" +"Ceci est le filtre destiné à la ré-écriture de l’arbre et de son contenu." #: /tmp/fish/implicit/share/completions/git.fish:30 msgid "This is the filter for rewriting the index." -msgstr "" +msgstr "Ceci est le filtre destiné à la ré-écriture de l’index." #: /tmp/fish/implicit/share/completions/git.fish:31 +#, fuzzy msgid "This is the filter for rewriting the commit\\(cqs parent list." msgstr "" +"Ceci est le filtre destiné à la ré-écriture de la liste parente de la " +"validation \\(cqs." #: /tmp/fish/implicit/share/completions/git.fish:32 msgid "This is the filter for rewriting the commit messages." msgstr "" +"Ceci est le filtre destiné à la ré-écriture des messages de validation." #: /tmp/fish/implicit/share/completions/git.fish:33 msgid "This is the filter for performing the commit." -msgstr "" +msgstr "Ceci est le filtre destiné à l’exécution de la validation." #: /tmp/fish/implicit/share/completions/git.fish:34 msgid "This is the filter for rewriting tag names." -msgstr "" +msgstr "Ceci est le filtre destiné à la ré-écriture des noms des étiquettes." #: /tmp/fish/implicit/share/completions/git.fish:35 msgid "Only look at the history which touches the given subdirectory." -msgstr "" +msgstr "Ne vérifier de l’historique que ce qui concerne le sous-dossier donné." #: /tmp/fish/implicit/share/completions/git.fish:36 msgid "Ignore empty commits generated by filters" -msgstr "" +msgstr "Ignorer les validations vides générées par des filtres" #: /tmp/fish/implicit/share/completions/git.fish:37 msgid "" "Use this option to set the namespace where the original commits will be " "stored" msgstr "" +"Utilisez cette option pour paramétrer l’espace de nommage dans lequel les " +"validations originelles seront stockées" #: /tmp/fish/implicit/share/completions/git.fish:38 msgid "" "Use this option to set the path to the temporary directory used for rewriting" msgstr "" +"Utilisez cette option pour paramétrer le chemin du dossier temporaire à " +"utiliser pour la ré-écriture" #: /tmp/fish/implicit/share/completions/git.fish:39 msgid "" "Force filter branch to start even w/ refs in refs/original or existing temp " "directory" msgstr "" +"Forcer le filtrage de la branche à démarrer même sans références ni dans " +"refs/original, ni dans le dossier temporaire existant" #: /tmp/fish/implicit/share/completions/git.fish:40 -#, fuzzy msgid "Manage set of tracked repositories" -msgstr "Mettre à jour le référentiel" +msgstr "Mettre à jour le jeu de dépôt suivis" #: /tmp/fish/implicit/share/completions/git.fish:42 -#, fuzzy msgid "Adds a new remote" -msgstr "Mettre à jour le référentiel" +msgstr "Ajoute un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:43 -#, fuzzy msgid "Removes a remote" -msgstr "Supprimer une clé" +msgstr "Supprime un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:44 -#, fuzzy msgid "Shows a remote" -msgstr "Afficher les entrées ARP" +msgstr "Affiche un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:45 msgid "Deletes all stale tracking branches" -msgstr "" +msgstr "Supprime toutes les branches dépassées suivies" #: /tmp/fish/implicit/share/completions/git.fish:46 -#, fuzzy msgid "Fetches updates" -msgstr "Récupérer les paquets sources" +msgstr "Rapatrie les mises à jour" #: /tmp/fish/implicit/share/completions/git.fish:47 -#, fuzzy msgid "Renames a remote" -msgstr "Renommer un disque" +msgstr "Renomme un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:48 msgid "Sets the default branch for a remote" -msgstr "" +msgstr "Paramètre une branche par défaut pour un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:49 msgid "Changes URLs for a remote" -msgstr "" +msgstr "Change les URL pour un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:50 +#, fuzzy msgid "Changes the list of branches tracked by a remote" -msgstr "" +msgstr "Change la liste des branches suivies par un serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:51 msgid "Once the remote information is set up git fetch is run" msgstr "" +"Une fois l’information distante configurée, git fetch est exécuté" #: /tmp/fish/implicit/share/completions/git.fish:52 msgid "Import every tag from a remote with git fetch " msgstr "" +"Importer toutes les étiquettes d’un serveur distant avec git fetch " #: /tmp/fish/implicit/share/completions/git.fish:53 msgid "Don't import tags from a remote with git fetch " -msgstr "" +msgstr "Ne pas importer d’étiquettes d’un serveur distant avec git fetch " #: /tmp/fish/implicit/share/completions/git.fish:54 msgid "Add to the list of currently tracked branches instead of replacing it" -msgstr "" +msgstr "Ajouter à la liste des branches suivies au lieu de la remplacer" #: /tmp/fish/implicit/share/completions/git.fish:55 msgid "Manipulate push URLs instead of fetch URLs" -msgstr "" +msgstr "Manipuler les URL de poussée au lieu de celles de rapatriement" #: /tmp/fish/implicit/share/completions/git.fish:56 msgid "Add new URL instead of changing the existing URLs" -msgstr "" +msgstr "Ajouter une nouvelle URL au lieu de changer celle en place" #: /tmp/fish/implicit/share/completions/git.fish:57 msgid "Remove URLs that match specified URL" -msgstr "" +msgstr "Supprimer les URL correspondant à celle spécifiée" #: /tmp/fish/implicit/share/completions/git.fish:58 msgid "Remote heads are not queried, cached information is used instead" msgstr "" +"Les HEAD distantes ne sont pas requises, l’information en cache est utilisée " +"à la place" #: /tmp/fish/implicit/share/completions/git.fish:59 msgid "Report what will be pruned but do not actually prune it" -msgstr "" +msgstr "Rapporter ce qui sera éliminer sans l’éliminer réellement" #: /tmp/fish/implicit/share/completions/git.fish:60 msgid "Prune all remotes that are updated" -msgstr "" +msgstr "Éliminer tous les serveurs distants qui sont mis à jour" #: /tmp/fish/implicit/share/completions/git.fish:61 msgid "Shows the last commit of a branch" -msgstr "" +msgstr "Affiche la dernière validation d’une branche" #: /tmp/fish/implicit/share/completions/git.fish:63 #: /tmp/fish/implicit/share/completions/git.fish:84 #: /tmp/fish/implicit/share/completions/git.fish:106 #: /tmp/fish/implicit/share/completions/git.fish:181 msgid "Remote branch" -msgstr "" +msgstr "Branche distante" #: /tmp/fish/implicit/share/completions/git.fish:65 msgid "Generate a diffstat, showing the number of changed lines of each file" msgstr "" +"Générer un diffstat, montrant le nombre de lignes modifiées pour chaque " +"fichier" #: /tmp/fish/implicit/share/completions/git.fish:66 -#, fuzzy msgid "Shows the commits on branches" -msgstr "Afficher le temps" +msgstr "Affiche les validations sur les branches" #: /tmp/fish/implicit/share/completions/git.fish:67 msgid "Rev" -msgstr "" +msgstr "Révision" #: /tmp/fish/implicit/share/completions/git.fish:68 msgid "Add file contents to the index" -msgstr "" +msgstr "Ajouter le contenu des fichiers à l’index" #: /tmp/fish/implicit/share/completions/git.fish:69 -#, fuzzy msgid "Don't actually add the file(s)" -msgstr "Ne pas modifier aucun fichier" +msgstr "Ne pas ajouter réellement le ou les fichiers" #: /tmp/fish/implicit/share/completions/git.fish:71 msgid "Allow adding otherwise ignored files" -msgstr "" +msgstr "Autoriser l’ajout de fichiers normalement ignorés" #: /tmp/fish/implicit/share/completions/git.fish:72 #: /tmp/fish/implicit/share/completions/git.fish:252 -#, fuzzy msgid "Interactive mode" -msgstr "Exécuter en mode noninteractif" +msgstr "Mode interactif" #: /tmp/fish/implicit/share/completions/git.fish:73 msgid "Interactively choose hunks to stage" -msgstr "" +msgstr "Sélectionner interactivement les sections à indexer" #: /tmp/fish/implicit/share/completions/git.fish:74 -#, fuzzy msgid "Manually create a patch" -msgstr "Créer l'adresse ARP manuellement" +msgstr "Créer un patch manuellement" #: /tmp/fish/implicit/share/completions/git.fish:75 -#, fuzzy msgid "Only match tracked files" -msgstr "Supprimer les fichiers obsolètes" +msgstr "Ne comparer que les fichiers suivis" #: /tmp/fish/implicit/share/completions/git.fish:76 msgid "Match files both in working tree and index" msgstr "" +"Comparer à la fois les fichiers de la copie de travail et ceux de l’index" #: /tmp/fish/implicit/share/completions/git.fish:77 msgid "Record only the fact that the path will be added later" -msgstr "" +msgstr "N’enregistrer que le fait que le chemin sera ajouté plus tard" #: /tmp/fish/implicit/share/completions/git.fish:78 msgid "Don't add the file(s), but only refresh their stat" msgstr "" +"Ne pas ajouter le ou les fichiers, se contenter de mettre à jour leur stat" #: /tmp/fish/implicit/share/completions/git.fish:79 #: /tmp/fish/implicit/share/completions/ipset.fish:8 #: /tmp/fish/implicit/share/completions/make.fish:6 -#, fuzzy msgid "Ignore errors" -msgstr "Supprimer les erreurs" +msgstr "Ignorer les erreurs" #: /tmp/fish/implicit/share/completions/git.fish:80 msgid "Check if any of the given files would be ignored" -msgstr "" +msgstr "Vérifier si l’un des fichiers donnés serait ignoré" #: /tmp/fish/implicit/share/completions/git.fish:81 msgid "Checkout and switch to a branch" -msgstr "" +msgstr "Extraire une branche et basculer dessus" #: /tmp/fish/implicit/share/completions/git.fish:83 #: /tmp/fish/implicit/share/completions/git.fish:238 msgid "Head" -msgstr "" +msgstr "Head" #: /tmp/fish/implicit/share/completions/git.fish:88 msgid "Track a new branch" -msgstr "" +msgstr "Suivre une nouvelle branche" #: /tmp/fish/implicit/share/completions/git.fish:89 msgid "Apply a patch on a git index file and a working tree" -msgstr "" +msgstr "Appliquer un patch sur un fichier d’index et une copie de travail git" #: /tmp/fish/implicit/share/completions/git.fish:90 msgid "Create an archive of files from a named tree" -msgstr "" +msgstr "Créer une archive des fichiers d’un arbre nommé" #: /tmp/fish/implicit/share/completions/git.fish:91 msgid "Find the change that introduced a bug by binary search" -msgstr "" +msgstr "Trouver par recherche binaire la modification qui a introduit un bogue" #: /tmp/fish/implicit/share/completions/git.fish:92 msgid "List, create, or delete branches" -msgstr "" +msgstr "Lister, créer ou supprimer des branches" #: /tmp/fish/implicit/share/completions/git.fish:94 msgid "Delete branch" -msgstr "" +msgstr "Supprimer la branche" #: /tmp/fish/implicit/share/completions/git.fish:95 -#, fuzzy msgid "Force deletion of branch" -msgstr "Forcer la suppression" +msgstr "Forcer la suppression de la branche" #: /tmp/fish/implicit/share/completions/git.fish:96 -#, fuzzy msgid "Rename branch" -msgstr "Renommer un disque" +msgstr "Renommer la branche" #: /tmp/fish/implicit/share/completions/git.fish:97 -#, fuzzy msgid "Force renaming branch" -msgstr "Forcer une nouvelle révision" +msgstr "Forcer le renommage de la branche" #: /tmp/fish/implicit/share/completions/git.fish:98 msgid "Lists both local and remote branches" -msgstr "" +msgstr "Lister à la fois les branches locales et distantes" #: /tmp/fish/implicit/share/completions/git.fish:99 msgid "Track remote branch" -msgstr "" +msgstr "Suivre la branche distante" #: /tmp/fish/implicit/share/completions/git.fish:100 msgid "Do not track remote branch" -msgstr "" +msgstr "Ne pas suivre la branche distante" #: /tmp/fish/implicit/share/completions/git.fish:101 msgid "Set remote branch to track" -msgstr "" +msgstr "Paramétrer la branche distante à suivre" #: /tmp/fish/implicit/share/completions/git.fish:102 msgid "List branches that have been merged" -msgstr "" +msgstr "Lister les branches précédemment fusionnées" #: /tmp/fish/implicit/share/completions/git.fish:103 msgid "List branches that have not been merged" -msgstr "" +msgstr "Lister les branches non précédemment fusionnées" #: /tmp/fish/implicit/share/completions/git.fish:104 msgid "Apply the change introduced by an existing commit" -msgstr "" +msgstr "Appliquer la modification introduite par une validation existante" #: /tmp/fish/implicit/share/completions/git.fish:107 msgid "Edit the commit message prior to committing" -msgstr "" +msgstr "Éditer le message de validation avant de valider" #: /tmp/fish/implicit/share/completions/git.fish:108 msgid "" "Append info in generated commit on the origin of the cherry-picked change" msgstr "" +"Ajouter des informations sur les origines des modifications picorées dans la " +"validation générée" #: /tmp/fish/implicit/share/completions/git.fish:109 msgid "Apply changes without making any commit" -msgstr "" +msgstr "Appliquer les modifications sans effectuer de validation" #: /tmp/fish/implicit/share/completions/git.fish:110 msgid "Add Signed-off-by line to the commit message" -msgstr "" +msgstr "Ajouter une ligne Signed-off-by dans le message de validation" #: /tmp/fish/implicit/share/completions/git.fish:111 msgid "Fast-forward if possible" -msgstr "" +msgstr "Avance rapide si possible" #: /tmp/fish/implicit/share/completions/git.fish:112 -#, fuzzy msgid "Clone a repository into a new directory" -msgstr "Créer un référentiel CVS s'il n'existe pas" +msgstr "Cloner un dépôt dans un nouveau dossier" #: /tmp/fish/implicit/share/completions/git.fish:113 msgid "Copy files instead of using hardlinks" -msgstr "" +msgstr "Copier les fichiers au lieu d’utiliser des liens matériels" #: /tmp/fish/implicit/share/completions/git.fish:114 msgid "Operate quietly and do not report progress" -msgstr "" +msgstr "Opérer silencieusement sans afficher l’avancement" #: /tmp/fish/implicit/share/completions/git.fish:115 msgid "Provide more information on what is going on" -msgstr "" +msgstr "Fournir plus de détails sur ce qui se trame" #: /tmp/fish/implicit/share/completions/git.fish:116 msgid "No checkout of HEAD is performed after the clone is complete" -msgstr "" +msgstr "Aucune extraction de HEAD n’est effectuée après le clonage" #: /tmp/fish/implicit/share/completions/git.fish:117 -#, fuzzy msgid "Make a bare Git repository" -msgstr "Mettre à jour le référentiel" +msgstr "Créer un dépôt Git nu" #: /tmp/fish/implicit/share/completions/git.fish:118 -#, fuzzy msgid "Set up a mirror of the source repository" -msgstr "Appliquer les modifications au référentiel" +msgstr "Paramétrer un miroir du dépôt source" #: /tmp/fish/implicit/share/completions/git.fish:119 msgid "Use a specific name of the remote instead of the default" msgstr "" +"Utiliser un nom précis pour le dépôt distant au lieu de celui par défaut" #: /tmp/fish/implicit/share/completions/git.fish:120 msgid "Use a specific branch instead of the one used by the cloned repository" msgstr "" +"Utiliser une branche précise au lieu de celle utilisée par le dépôt cloné" #: /tmp/fish/implicit/share/completions/git.fish:121 msgid "Truncate the history to a specified number of revisions" -msgstr "" +msgstr "Limiter l’historique au nombre donné de révisions" #: /tmp/fish/implicit/share/completions/git.fish:122 -#, fuzzy msgid "Initialize all submodules within the cloned repository" -msgstr "Appliquer les modifications au référentiel" +msgstr "Initialiser tous les sous-modules à l’intérieur du dépôt cloné" #: /tmp/fish/implicit/share/completions/git.fish:123 -#, fuzzy msgid "Record changes to the repository" -msgstr "Appliquer les modifications au référentiel" +msgstr "Enregistrer les changements dans le dépôt" #: /tmp/fish/implicit/share/completions/git.fish:124 -#, fuzzy msgid "Amend the log message of the last commit" -msgstr "Lire le journal depuis le fichier" +msgstr "Corriger le message de journal de la dernière validation" #: /tmp/fish/implicit/share/completions/git.fish:125 msgid "Fixup commit to be used with rebase --autosquash" -msgstr "" +msgstr "Préparer la validation à utiliser avec rebase --autosquash" #: /tmp/fish/implicit/share/completions/git.fish:126 msgid "Show changes between commits, commit and working tree, etc" msgstr "" +"Afficher les modifications entre les validations, entre validation et copie " +"de travail, etc" #: /tmp/fish/implicit/share/completions/git.fish:128 -#, fuzzy msgid "Show diff of changes in the index" -msgstr "Changer le répertoire de travail" +msgstr "Afficher un diff des modifications dans l’index" #: /tmp/fish/implicit/share/completions/git.fish:129 msgid "Compare two paths on the filesystem" -msgstr "" +msgstr "Comparer deux chemins dans le système de fichiers" #: /tmp/fish/implicit/share/completions/git.fish:130 msgid "Open diffs in a visual tool" -msgstr "" +msgstr "Ouvrir les diffs dans un outil visuel" #: /tmp/fish/implicit/share/completions/git.fish:132 +#, fuzzy msgid "Visually show diff of changes in the index" -msgstr "" +msgstr "Afficher explicitement les différences des changements dans l’index" #: /tmp/fish/implicit/share/completions/git.fish:133 -#, fuzzy msgid "Print lines matching a pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "Afficher les lignes correspondant à un motif" #: /tmp/fish/implicit/share/completions/git.fish:134 msgid "Create an empty git repository or reinitialize an existing one" -msgstr "" +msgstr "Créer un dépôt git vide ou réinitialiser un dépôt existant" #: /tmp/fish/implicit/share/completions/git.fish:135 msgid "Show commit shortlog" -msgstr "" +msgstr "Afficher le journal court de la validation" #: /tmp/fish/implicit/share/completions/git.fish:136 msgid "Show commit logs" -msgstr "" +msgstr "Afficher les journaux des validations" #: /tmp/fish/implicit/share/completions/git.fish:138 msgid "Continue listing file history beyond renames" msgstr "" +"Ne pas se contenter d’afficher les renommages, tout afficher de l’historique " +"fichier" #: /tmp/fish/implicit/share/completions/git.fish:139 -#, fuzzy msgid "Don't print ref names" -msgstr "Ne pas afficher le message de bienvenue GNU" +msgstr "Ne pas afficher les noms des références" #: /tmp/fish/implicit/share/completions/git.fish:140 -#, fuzzy msgid "Print out ref names" -msgstr "Afficher tous les noms" +msgstr "Afficher les noms des références" #: /tmp/fish/implicit/share/completions/git.fish:141 msgid "Print ref name by which each commit was reached" -msgstr "" +msgstr "Afficher les noms des références atteintes par chaque validation" #: /tmp/fish/implicit/share/completions/git.fish:142 msgid "Limit the number of commits before starting to show the commit output" -msgstr "" +msgstr "Limiter le nombre de validations avant d’en afficher la sortie" #: /tmp/fish/implicit/share/completions/git.fish:143 msgid "Skip given number of commits" -msgstr "" +msgstr "Passer n validations" #: /tmp/fish/implicit/share/completions/git.fish:144 #: /tmp/fish/implicit/share/completions/git.fish:145 msgid "Show commits more recent than specified date" -msgstr "" +msgstr "Afficher les validations effectuées après une date spécifiée" #: /tmp/fish/implicit/share/completions/git.fish:146 #: /tmp/fish/implicit/share/completions/git.fish:147 -#, fuzzy msgid "Show commits older than specified date" -msgstr "Afficher les différences entre les révisions" +msgstr "Afficher les validations effectuées avant une date spécifiée" #: /tmp/fish/implicit/share/completions/git.fish:148 msgid "Limit commits from given author" -msgstr "" +msgstr "Limiter aux validations d’un auteur donné" #: /tmp/fish/implicit/share/completions/git.fish:149 msgid "Limit commits from given committer" -msgstr "" +msgstr "Limiter aux validations d’un validateur donné" #: /tmp/fish/implicit/share/completions/git.fish:150 msgid "Limit commits to ones with reflog entries matching given pattern" msgstr "" +"Limiter les validations à celles dont les entrées du reflog correspondent au " +"motif donné" #: /tmp/fish/implicit/share/completions/git.fish:151 -#, fuzzy msgid "Limit commits with message that match given pattern" -msgstr "Lister le contenu d'un paquet correspondant au motif" +msgstr "" +"Limiter les validations à celles dont le message correspond au motif donné" #: /tmp/fish/implicit/share/completions/git.fish:152 msgid "Limit commits to ones that match all given --grep" msgstr "" +"Limiter les validations à celles correspondant à tous les --grep donnés" #: /tmp/fish/implicit/share/completions/git.fish:153 msgid "Limit commits to ones with message that don't match --grep" msgstr "" +"Limiter les validations à celles dont le message ne correspond pas à --grep" #: /tmp/fish/implicit/share/completions/git.fish:154 msgid "Case insensitive match" -msgstr "" +msgstr "Correspondance insensible à la casse" #: /tmp/fish/implicit/share/completions/git.fish:155 msgid "Patterns are basic regular expressions (default)" -msgstr "" +msgstr "Les motifs sont des expressions régulières basiques (par défaut)" #: /tmp/fish/implicit/share/completions/git.fish:156 msgid "Patterns are extended regular expressions" -msgstr "" +msgstr "Les motifs sont des expressions régulières étendues" #: /tmp/fish/implicit/share/completions/git.fish:157 -#, fuzzy msgid "Patterns are fixed strings" -msgstr "Le motif est une regexp" +msgstr "Les motifs sont des chaînes fixes" #: /tmp/fish/implicit/share/completions/git.fish:158 msgid "Patterns are Perl-compatible regular expressions" -msgstr "" +msgstr "Les motifs sont des expressions régulières compatibles Perl" #: /tmp/fish/implicit/share/completions/git.fish:159 msgid "Stop when given path disappears from tree" -msgstr "" +msgstr "Arrêter lorsque le chemin donné disparaît de l’arbre" #: /tmp/fish/implicit/share/completions/git.fish:160 -#, fuzzy msgid "Print only merge commits" -msgstr "Afficher seulement la colonne de gauche" +msgstr "Afficher seulement les validations de fusion" #: /tmp/fish/implicit/share/completions/git.fish:161 msgid "Don't print commits with more than one parent" -msgstr "" +msgstr "Ne pas afficher les validations possédant plus d’un parent" #: /tmp/fish/implicit/share/completions/git.fish:162 msgid "Show only commit with at least the given number of parents" -msgstr "" +msgstr "N’afficher que les validations possédant au moins n parents" #: /tmp/fish/implicit/share/completions/git.fish:163 msgid "Show only commit with at most the given number of parents" -msgstr "" +msgstr "N’afficher que les validations possédant au plus n parents" #: /tmp/fish/implicit/share/completions/git.fish:164 msgid "Show only commit without a mimimum number of parents" -msgstr "" +msgstr "N’afficher que les validations sans nombre minimum de parents" #: /tmp/fish/implicit/share/completions/git.fish:165 msgid "Show only commit without a maximum number of parents" -msgstr "" +msgstr "N’afficher que les validations sans nombre maximum de parents" #: /tmp/fish/implicit/share/completions/git.fish:166 msgid "Follow only the first parent commit upon seeing a merge commit" msgstr "" +"Suivre seulement la première validation parent jusqu’à atteindre une " +"validation de fusion" #: /tmp/fish/implicit/share/completions/git.fish:167 msgid "Reverse meaning of ^ prefix" -msgstr "" +msgstr "Inverser la signification de ^" #: /tmp/fish/implicit/share/completions/git.fish:168 +#, fuzzy msgid "" "Pretend as if all refs in refs/ are listed on the command line as " msgstr "" +"Prétendre que toutes les références dans refs/ sont listées sur la ligne de " +"commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:169 +#, fuzzy msgid "" "Pretend as if all refs are in refs/heads are listed on the command line as " "" msgstr "" +"Prétendre que toutes les références dans refs/heads sont listées sur la " +"ligne de commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:170 +#, fuzzy msgid "" "Pretend as if all refs are in ref/tags are listed on the command line as " "" msgstr "" +"Prétendre que toutes les références dans refs/tags sont listées sur la ligne " +"de commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:171 +#, fuzzy msgid "" "Pretend as if all refs in refs/remotes are listed on the command line as " "" msgstr "" +"Prétendre que toutes les références dans refs/remotes sont listées sur la " +"ligne de commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:172 +#, fuzzy msgid "" "Pretend as if all refs matching shell glob are listed on the command line as " "" msgstr "" +"Prétendre que toutes les références correspondant au glob shell sont listées " +"sur la ligne de commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:173 msgid "Do not include refs matching given glob pattern" -msgstr "" +msgstr "Ne pas inclure les références correspondant au motif glob donné" #: /tmp/fish/implicit/share/completions/git.fish:174 msgid "" "Pretend as if all objcets mentioned by reflogs are listed on the command " "line as " msgstr "" +"Prétendre que tous les objets mentionnés dans les reflog sont listés sur la " +"ligne de commande comme avec " #: /tmp/fish/implicit/share/completions/git.fish:175 msgid "Ignore invalid object names" -msgstr "" +msgstr "Ignorer les noms invalides d’objets" #: /tmp/fish/implicit/share/completions/git.fish:176 -#, fuzzy msgid "Read commits from stdin" -msgstr "Lire la tâche depuis le fichier" +msgstr "Lire les validations depuis l’entrée standard" #: /tmp/fish/implicit/share/completions/git.fish:177 msgid "Mark equivalent commits with = and inequivalent with +" -msgstr "" +msgstr "Marquer les validations équivalentes avec = et non équivalentes avec +" #: /tmp/fish/implicit/share/completions/git.fish:178 msgid "Omit equivalent commits" -msgstr "" +msgstr "Ignorer les validations équivalentes" #: /tmp/fish/implicit/share/completions/git.fish:179 msgid "Join two or more development histories together" -msgstr "" +msgstr "Fusionner plusieurs historiques de développement" #: /tmp/fish/implicit/share/completions/git.fish:182 msgid "Autocommit the merge" -msgstr "" +msgstr "Auto-valider la fusion" #: /tmp/fish/implicit/share/completions/git.fish:183 msgid "Don't autocommit the merge" -msgstr "" +msgstr "Ne pas auto-valider la fusion" #: /tmp/fish/implicit/share/completions/git.fish:184 msgid "Edit auto-generated merge message" -msgstr "" +msgstr "Éditer le message de fusion auto-généré" #: /tmp/fish/implicit/share/completions/git.fish:185 msgid "Don't edit auto-generated merge message" -msgstr "" +msgstr "Ne pas éditer le message de fusion auto-généré" #: /tmp/fish/implicit/share/completions/git.fish:186 msgid "Don't generate a merge commit if merge is fast-forward" msgstr "" +"Ne pas générer de validation de fusion si la fusion est faite en avance " +"rapide" #: /tmp/fish/implicit/share/completions/git.fish:187 msgid "Generate a merge commit even if merge is fast-forward" msgstr "" +"Générer un validation de fusion même si la fusion est faite en avance rapide" #: /tmp/fish/implicit/share/completions/git.fish:188 msgid "Refuse to merge unless fast-forward possible" -msgstr "" +msgstr "Refuser la fusion sauf si une avance rapide est possible" #: /tmp/fish/implicit/share/completions/git.fish:189 msgid "Populate the log message with one-line descriptions" -msgstr "" +msgstr "Remplir le message de journal avec des descriptions sur une ligne" #: /tmp/fish/implicit/share/completions/git.fish:190 msgid "Don't populate the log message with one-line descriptions" msgstr "" +"Ne pas remplir le message de journal avec des descriptions sur une ligne" #: /tmp/fish/implicit/share/completions/git.fish:191 -#, fuzzy msgid "Show diffstat of the merge" -msgstr "Afficher l'état des dépendances" +msgstr "Montrer le diffstat de la fusion" #: /tmp/fish/implicit/share/completions/git.fish:192 msgid "Don't show diffstat of the merge" -msgstr "" +msgstr "Ne pas montrer le diffstat de la fusion" #: /tmp/fish/implicit/share/completions/git.fish:193 msgid "Squash changes from other branch as a single commit" msgstr "" +"Compresser les modifications depuis une autre branche comme une seule " +"validation" #: /tmp/fish/implicit/share/completions/git.fish:194 -#, fuzzy msgid "Don't squash changes" -msgstr "Pas de changements" +msgstr "Ne pas compresser les modifications" #: /tmp/fish/implicit/share/completions/git.fish:197 #: /tmp/fish/implicit/share/completions/git.fish:214 #: /tmp/fish/implicit/share/completions/git.fish:234 msgid "Force progress status" -msgstr "" +msgstr "Forcer l’affichage de la progression" #: /tmp/fish/implicit/share/completions/git.fish:198 msgid "Force no progress status" -msgstr "" +msgstr "Ne pas forcer l’affichage de la progression" #: /tmp/fish/implicit/share/completions/git.fish:199 -#, fuzzy msgid "Set the commit message" -msgstr "Spécifier le titre du rss" +msgstr "Paramétrer le message de validation" #: /tmp/fish/implicit/share/completions/git.fish:200 -#, fuzzy msgid "Abort the current conflict resolution process" -msgstr "Recharger la configuration du service" +msgstr "Annuler la résolution de conflits en cours" #: /tmp/fish/implicit/share/completions/git.fish:201 msgid "Run merge conflict resolution tools to resolve merge conflicts" msgstr "" +"Exécuter les outils de résolution de conflit pour résoudre les conflits de " +"fusion" #: /tmp/fish/implicit/share/completions/git.fish:202 msgid "Use specific merge resolution program" -msgstr "" +msgstr "Utiliser un programme de résolution de fusion spécifique" #: /tmp/fish/implicit/share/completions/git.fish:204 msgid "Move or rename a file, a directory, or a symlink" -msgstr "" +msgstr "Déplacer ou renommer un fichier, dossier ou lien symbolique" #: /tmp/fish/implicit/share/completions/git.fish:205 msgid "Prune all unreachable objects from the object database" msgstr "" +"Éliminer tous les objets inatteignables de la base de données des objets" #: /tmp/fish/implicit/share/completions/git.fish:206 msgid "Fetch from and merge with another repository or a local branch" -msgstr "" +msgstr "Rapatrier et fusionner depuis un autre dépôt ou une branche locale" #: /tmp/fish/implicit/share/completions/git.fish:209 -#, fuzzy msgid "Fetch all remotes" -msgstr "Référentiel en lecture seule" +msgstr "Rapatrier tous les dépôts distants" #: /tmp/fish/implicit/share/completions/git.fish:212 msgid "Keep downloaded pack" -msgstr "" +msgstr "Conserver le paquet téléchargé" #: /tmp/fish/implicit/share/completions/git.fish:213 msgid "Disable automatic tag following" -msgstr "" +msgstr "Désactiver le suivi automatique des étiquettes" #: /tmp/fish/implicit/share/completions/git.fish:215 #: /tmp/fish/implicit/share/completions/git.fish:218 #: /tmp/fish/implicit/share/completions/git.fish:236 -#, fuzzy msgid "Remote alias" -msgstr "Supprime les paquet" +msgstr "Alias distant" #: /tmp/fish/implicit/share/completions/git.fish:217 msgid "Update remote refs along with associated objects" msgstr "" +"Mettre à jour les références distantes en même temps que les objets associés" #: /tmp/fish/implicit/share/completions/git.fish:220 msgid "Force-push branch" -msgstr "" +msgstr "Pousser autoritairement la branche" #: /tmp/fish/implicit/share/completions/git.fish:221 msgid "Force-push local branch to remote branch" -msgstr "" +msgstr "Pousser autoritairement la branche locale vers la branche distante" #: /tmp/fish/implicit/share/completions/git.fish:222 msgid "Push local branch to remote branch" -msgstr "" +msgstr "Pousser la branche locale vers la branche distante" #: /tmp/fish/implicit/share/completions/git.fish:223 msgid "Push all refs under refs/heads/" -msgstr "" +msgstr "Pousser toutes les références de refs/heads/" #: /tmp/fish/implicit/share/completions/git.fish:224 msgid "Remove remote branches that don't have a local counterpart" -msgstr "" +msgstr "Supprimer les branches distantes sans contrepartie locale" #: /tmp/fish/implicit/share/completions/git.fish:225 msgid "Push all refs under refs/" -msgstr "" +msgstr "Pousser toutes les références de refs/" #: /tmp/fish/implicit/share/completions/git.fish:226 -#, fuzzy msgid "Delete all listed refs from the remote repository" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer toutes les références listées du dépôt distant" #: /tmp/fish/implicit/share/completions/git.fish:227 msgid "Push all refs under refs/tags" -msgstr "" +msgstr "Pousser toutes les références de refs/tags" #: /tmp/fish/implicit/share/completions/git.fish:228 msgid "Do everything except actually send the updates" -msgstr "" +msgstr "Tout faire sauf l’envoi proprement dit des mises à jour" #: /tmp/fish/implicit/share/completions/git.fish:229 msgid "Produce machine-readable output" -msgstr "" +msgstr "Produire une sortie lisible par un programme" #: /tmp/fish/implicit/share/completions/git.fish:230 msgid "Force update of remote refs" -msgstr "" +msgstr "Forcer la mise à jour des références distantes" #: /tmp/fish/implicit/share/completions/git.fish:231 msgid "Add upstream (tracking) reference" -msgstr "" +msgstr "Ajouter une référence amont (suivi)" #: /tmp/fish/implicit/share/completions/git.fish:235 msgid "Forward-port local commits to the updated upstream head" msgstr "" +"Reporter les validations locales sur le sommet mis à jour d’une branche" #: /tmp/fish/implicit/share/completions/git.fish:240 msgid "Restart the rebasing process" -msgstr "" +msgstr "Redémarrer le processus de rebasage" #: /tmp/fish/implicit/share/completions/git.fish:241 -#, fuzzy msgid "Abort the rebase operation" -msgstr "Forcer une association nom/rev" +msgstr "Annuler le rebasage" #: /tmp/fish/implicit/share/completions/git.fish:242 msgid "Keep the commits that don't cahnge anything" -msgstr "" +msgstr "Conserver les modifications sans effet" #: /tmp/fish/implicit/share/completions/git.fish:243 msgid "Restart the rebasing process by skipping the current patch" -msgstr "" +msgstr "Redémarrer le processus de rebasage en passant le patch courant" #: /tmp/fish/implicit/share/completions/git.fish:244 msgid "Use merging strategies to rebase" -msgstr "" +msgstr "Utiliser des stratégies de fusion pour le rebasage" #: /tmp/fish/implicit/share/completions/git.fish:247 -#, fuzzy msgid "Show diffstat of the rebase" -msgstr "Afficher l'état des dépendances" +msgstr "Afficher le diffstat du rebasage" #: /tmp/fish/implicit/share/completions/git.fish:248 msgid "Don't show diffstat of the rebase" -msgstr "" +msgstr "Ne pas afficher le diffstat du rebasage" #: /tmp/fish/implicit/share/completions/git.fish:249 msgid "Allow the pre-rebase hook to run" -msgstr "" +msgstr "Autoriser l’exécution du crochet pré-rebasage" #: /tmp/fish/implicit/share/completions/git.fish:250 msgid "Don't allow the pre-rebase hook to run" -msgstr "" +msgstr "Refuser l’exécution du crochet pré-rebasage" #: /tmp/fish/implicit/share/completions/git.fish:251 -#, fuzzy msgid "Force the rebase" -msgstr "Forcer oui" +msgstr "Forcer le rebasage" #: /tmp/fish/implicit/share/completions/git.fish:253 msgid "Try to recreate merges" -msgstr "" +msgstr "Tenter de re-créer les fusions" #: /tmp/fish/implicit/share/completions/git.fish:254 msgid "Rebase all reachable commits" -msgstr "" +msgstr "Rebaser toutes les validations atteignables" #: /tmp/fish/implicit/share/completions/git.fish:255 msgid "Automatic squashing" -msgstr "" +msgstr "Compression automatique" #: /tmp/fish/implicit/share/completions/git.fish:256 msgid "No automatic squashing" -msgstr "" +msgstr "Pas de compression automatique" #: /tmp/fish/implicit/share/completions/git.fish:257 msgid "No fast-forward" -msgstr "" +msgstr "Pas d’avance rapide" #: /tmp/fish/implicit/share/completions/git.fish:258 msgid "Reset current HEAD to the specified state" -msgstr "" +msgstr "Réinitialiser la HEAD courante vers l’état spécifié" #: /tmp/fish/implicit/share/completions/git.fish:259 -#, fuzzy msgid "Reset files in working directory" -msgstr "Changer le répertoire de travail" +msgstr "Réinitialiser les fichiers du répertoire de travail" #: /tmp/fish/implicit/share/completions/git.fish:262 msgid "Reflog" -msgstr "" +msgstr "Reflog" #: /tmp/fish/implicit/share/completions/git.fish:263 msgid "Revert an existing commit" -msgstr "" +msgstr "Inverser une validation existante" #: /tmp/fish/implicit/share/completions/git.fish:264 -#, fuzzy msgid "Remove files from the working tree and from the index" -msgstr "Supprimer tous les fichiers gz de la cache" +msgstr "Supprimer des fichiers de la copie de travail et de l’index" #: /tmp/fish/implicit/share/completions/git.fish:265 -#, fuzzy msgid "Keep local copies" -msgstr "Nettoyer les paquets locaux" +msgstr "Conserver les copies locales" #: /tmp/fish/implicit/share/completions/git.fish:266 msgid "Exit with a zero status even if no files matched" msgstr "" +"Terminer avec un code de retour de zéro même si aucun fichier n’a correspondu" #: /tmp/fish/implicit/share/completions/git.fish:267 msgid "Allow recursive removal" -msgstr "" +msgstr "Autoriser la suppression récursive" #: /tmp/fish/implicit/share/completions/git.fish:269 msgid "Override the up-to-date check" -msgstr "" +msgstr "Outrepasser la vérification d’actualité" #: /tmp/fish/implicit/share/completions/git.fish:270 #: /tmp/fish/implicit/share/completions/prt-get.fish:45 #: /tmp/fish/implicit/share/completions/prt-get.fish:103 msgid "Dry run" -msgstr "" +msgstr "Exécution à blanc" #: /tmp/fish/implicit/share/completions/git.fish:271 -#, fuzzy msgid "Show the working tree status" -msgstr "Afficher le temps" +msgstr "Afficher l’état de la copie de travail" #: /tmp/fish/implicit/share/completions/git.fish:272 msgid "Give the output in the short-format" -msgstr "" +msgstr "Rendre au format court" #: /tmp/fish/implicit/share/completions/git.fish:273 msgid "Show the branch and tracking info even in short-format" -msgstr "" +msgstr "Afficher la branche et les informations de suivi même en format court" #: /tmp/fish/implicit/share/completions/git.fish:274 msgid "Give the output in a stable, easy-to-parse format" -msgstr "" +msgstr "Rendre à un format stable, facile à analyser" #: /tmp/fish/implicit/share/completions/git.fish:275 msgid "Terminate entries with null character" -msgstr "" +msgstr "Terminer les entrées avec un caractère null" #: /tmp/fish/implicit/share/completions/git.fish:276 msgid "The untracked files handling mode" -msgstr "" +msgstr "Le mode de traitement des fichiers non suivis" #: /tmp/fish/implicit/share/completions/git.fish:277 -#, fuzzy msgid "Ignore changes to submodules" -msgstr "Ignorer les changements de casse" +msgstr "Ignorer les changements apportés aux sous-modules" #: /tmp/fish/implicit/share/completions/git.fish:278 msgid "Create, list, delete or verify a tag object signed with GPG" -msgstr "" +msgstr "Créer, lister, supprimer ou vérifier une étiquette signée avec GPG" #: /tmp/fish/implicit/share/completions/git.fish:280 msgid "Make an unsigned, annotated tag object" -msgstr "" +msgstr "Créer une étiquette non-signée et annotée" #: /tmp/fish/implicit/share/completions/git.fish:281 msgid "Make a GPG-signed tag" -msgstr "" +msgstr "Créer une étiquette signée avec GPG" #: /tmp/fish/implicit/share/completions/git.fish:282 -#, fuzzy msgid "Remove a tag" -msgstr "Supprimer une clé" +msgstr "Supprimer une étiquette" #: /tmp/fish/implicit/share/completions/git.fish:283 msgid "Verify signature of a tag" -msgstr "" +msgstr "Vérifier la signature d’une étiquette" #: /tmp/fish/implicit/share/completions/git.fish:284 msgid "Force overwriting exising tag" -msgstr "" +msgstr "Forcer le remplacement de l’étiquette pré-existante" #: /tmp/fish/implicit/share/completions/git.fish:286 msgid "List tags that contain a commit" -msgstr "" +msgstr "Lister les étiquettes contenant une validation" #: /tmp/fish/implicit/share/completions/git.fish:289 -#, fuzzy msgid "Stash away changes" -msgstr "Patcher les changements locaux" +msgstr "Remiser les modifications" #: /tmp/fish/implicit/share/completions/git.fish:290 -#, fuzzy msgid "List stashes" -msgstr "Lister les clés de confiance" +msgstr "Lister les remisages" #: /tmp/fish/implicit/share/completions/git.fish:291 msgid "Show the changes recorded in the stash" -msgstr "" +msgstr "Afficher les changements remisés" #: /tmp/fish/implicit/share/completions/git.fish:292 msgid "Apply and remove a single stashed state" -msgstr "" +msgstr "Appliquer et supprimer un état remisé" #: /tmp/fish/implicit/share/completions/git.fish:293 msgid "Apply a single stashed state" -msgstr "" +msgstr "Appliquer un état remisé" #: /tmp/fish/implicit/share/completions/git.fish:294 -#, fuzzy msgid "Remove all stashed states" -msgstr "Supprime les paquet" +msgstr "Supprime tous les états remisés" #: /tmp/fish/implicit/share/completions/git.fish:295 msgid "Remove a single stashed state from the stash list" -msgstr "" +msgstr "Supprimer un état remisé" #: /tmp/fish/implicit/share/completions/git.fish:296 msgid "Create a stash" -msgstr "" +msgstr "Créer un remisage" #: /tmp/fish/implicit/share/completions/git.fish:297 msgid "Save a new stash" -msgstr "" +msgstr "Sauvegarder un nouveau remisage" #: /tmp/fish/implicit/share/completions/git.fish:298 -#, fuzzy msgid "Create a new branch from a stash" -msgstr "Créer une différence de format patch entre les versions" +msgstr "Créer une nouvelle branche depuis un remisage" #: /tmp/fish/implicit/share/completions/git.fish:299 -#, fuzzy msgid "Set and read git configuration variables" -msgstr "Spécifier un fichier de configuration" +msgstr "Paramétrer et lire les variables de configuration git" #: /tmp/fish/implicit/share/completions/git.fish:300 -#, fuzzy msgid "Generate patch series to send upstream" -msgstr "Générer le paquet depuis la source" +msgstr "Générer les patchs à envoyer en amont" #: /tmp/fish/implicit/share/completions/git.fish:302 msgid "Generate plain patches without diffstat" -msgstr "" +msgstr "Générer des patchs bruts, sans diffstat" #: /tmp/fish/implicit/share/completions/git.fish:303 -#, fuzzy msgid "Suppress diff output" -msgstr "Effacer la sortie normale" +msgstr "Supprimer la sortie diff" #: /tmp/fish/implicit/share/completions/git.fish:304 msgid "Spend more time to create smaller diffs" -msgstr "" +msgstr "Passer plus de temps afin de créer des diffs plus petits" #: /tmp/fish/implicit/share/completions/git.fish:305 msgid "Generate diff with the 'patience' algorithm" -msgstr "" +msgstr "Générer le diff avec l’algorithme « patience »" #: /tmp/fish/implicit/share/completions/git.fish:306 msgid "Generate diff with the 'histogram' algorithm" -msgstr "" +msgstr "Générer le diff avec l’algorithme « histogram »" #: /tmp/fish/implicit/share/completions/git.fish:307 msgid "Print all commits to stdout in mbox format" -msgstr "" +msgstr "Afficher toutes les validations sur l’entrée standard au format mbox" #: /tmp/fish/implicit/share/completions/git.fish:308 msgid "Show number of added/deleted lines in decimal notation" msgstr "" +"Afficher le nombre de lignes ajoutées et supprimées en notation décimale" #: /tmp/fish/implicit/share/completions/git.fish:309 msgid "Output only last line of the stat" -msgstr "" +msgstr "N’afficher que la dernière ligne du format --stat" #: /tmp/fish/implicit/share/completions/git.fish:310 msgid "Output a condensed summary of extended header information" -msgstr "" +msgstr "Afficher un résumé concis des en-têtes informatives étendues" #: /tmp/fish/implicit/share/completions/git.fish:311 -#, fuzzy msgid "Disable rename detection" -msgstr "Désactiver le téléchargement de paquets" +msgstr "Désactiver la détection des renommages" #: /tmp/fish/implicit/share/completions/git.fish:312 msgid "Show full blob object names" -msgstr "" +msgstr "Afficher les noms complets des objets blob" #: /tmp/fish/implicit/share/completions/git.fish:313 msgid "Output a binary diff for use with git apply" -msgstr "" +msgstr "Afficher un diff binaire à utiliser avec git apply" #: /tmp/fish/implicit/share/completions/git.fish:314 msgid "Also inspect unmodified files as source for a copy" -msgstr "" +msgstr "Inspecter également les fichiers non modifiés comme source pour copie" #: /tmp/fish/implicit/share/completions/git.fish:316 -#, fuzzy msgid "Ignore changes in whitespace at EOL" -msgstr "Ignorer les changements de casse" +msgstr "Ignorer les changements dans les blancs en fin de ligne" #: /tmp/fish/implicit/share/completions/git.fish:317 -#, fuzzy msgid "Ignore changes in amount of whitespace" -msgstr "Ignorer les changements de casse" +msgstr "Ignorer les changements du nombre de blancs" #: /tmp/fish/implicit/share/completions/git.fish:318 -#, fuzzy msgid "Ignore whitespace when comparing lines" -msgstr "Ignorer les changements correspondants à la regexp" +msgstr "Ignorer les blancs lors de la comparaison des lignes" #: /tmp/fish/implicit/share/completions/git.fish:320 #, fuzzy msgid "Show whole surrounding functions of changes" -msgstr "Afficher le temps" +msgstr "Afficher toutes les fonctions aux environs des changements" #: /tmp/fish/implicit/share/completions/git.fish:321 msgid "Allow an external diff helper to be executed" -msgstr "" +msgstr "Autoriser l’exécution d’un assistant diff externe" #: /tmp/fish/implicit/share/completions/git.fish:322 msgid "Disallow external diff helpers" -msgstr "" +msgstr "Refuser les assistants diff externes" #: /tmp/fish/implicit/share/completions/git.fish:323 msgid "Disallow external text conversion filters for binary files (Default)" msgstr "" +"Refuser les filtres externes de conversion de texte pour les fichiers " +"binaires (par défaut)" #: /tmp/fish/implicit/share/completions/git.fish:324 msgid "" "Allow external text conversion filters for binary files (Resulting diff is " "unappliable)" msgstr "" +"Autoriser les filtres externes de conversion de texte pour les fichiers " +"binaires (le diff résultant est inapplicable)" #: /tmp/fish/implicit/share/completions/git.fish:325 msgid "Do not show source or destination prefix" -msgstr "" +msgstr "Ne pas afficher les préfixes source et destination" #: /tmp/fish/implicit/share/completions/git.fish:326 msgid "Name output in [Patch n/m] format, even with a single patch" -msgstr "" +msgstr "Afficher le nom au format [Patch n/m], même pour un patch isolé" #: /tmp/fish/implicit/share/completions/git.fish:327 msgid "Name output in [Patch] format, even with multiple patches" -msgstr "" +msgstr "Afficher le nom au format [Patch n/m], même pour de multiples patchs" #: /tmp/fish/implicit/share/completions/git.fish:328 msgid "Initialize, update or inspect submodules" -msgstr "" +msgstr "Initialiser, mettre à jour ou inspecter des sous-modules" #: /tmp/fish/implicit/share/completions/git.fish:329 -#, fuzzy msgid "Add a submodule" -msgstr "Ajouter une étiquette symbolique à un module" +msgstr "Ajouter un sous-module" #: /tmp/fish/implicit/share/completions/git.fish:330 msgid "Show submodule status" -msgstr "" +msgstr "Afficher l’état du sous-module" #: /tmp/fish/implicit/share/completions/git.fish:331 #: /tmp/fish/implicit/share/completions/git.fish:337 msgid "Initialize all submodules" -msgstr "" +msgstr "Initialiser tous les sous-modules" #: /tmp/fish/implicit/share/completions/git.fish:332 -#, fuzzy msgid "Update all submodules" -msgstr "Actualiser les sources" +msgstr "Mettre à jour tous les sous-modules" #: /tmp/fish/implicit/share/completions/git.fish:333 msgid "Show commit summary" -msgstr "" +msgstr "Afficher le résumé des validations" #: /tmp/fish/implicit/share/completions/git.fish:334 -#, fuzzy msgid "Run command on each submodule" -msgstr "Exécuter la commande dans le processus courant" +msgstr "Exécuter la commande dans chaque sous-module" #: /tmp/fish/implicit/share/completions/git.fish:335 msgid "Sync submodules' URL with .gitmodules" -msgstr "" +msgstr "Synchroniser les URL des sous-modules avec .gitmodules" #: /tmp/fish/implicit/share/completions/git.fish:336 msgid "Only print error messages" -msgstr "" +msgstr "N’afficher que les messages d’erreur" #: /tmp/fish/implicit/share/completions/git.fish:338 msgid "Checkout the superproject's commit on a detached HEAD in the submodule" msgstr "" +"Vérifier la validation du superprojet sur la HEAD détachée dans le sous-" +"module" #: /tmp/fish/implicit/share/completions/git.fish:339 msgid "" "Merge the superproject's commit into the current branch of the submodule" msgstr "" +"Fusionner la validation du superprojet dans la branche actuelle du sous-" +"module" #: /tmp/fish/implicit/share/completions/git.fish:340 msgid "Rebase current branch onto the superproject's commit" -msgstr "" +msgstr "Rebaser la branche actuelle sur la validation du superprojet" #: /tmp/fish/implicit/share/completions/git.fish:341 msgid "Don't fetch new objects from the remote" -msgstr "" +msgstr "Ne pas rapatrier de nouveaux objets depuis le serveur distant" #: /tmp/fish/implicit/share/completions/git.fish:342 +#, fuzzy msgid "" "Instead of using superproject's SHA-1, use the state of the submodule's " "remote-tracking branch" msgstr "" +"Au lieu d’utiliser la somme SHA-1 du superprojet, utiliser l’état de la " +"branche de suivi du sous-module" #: /tmp/fish/implicit/share/completions/git.fish:343 msgid "" "Throw away local changes when switching to a different commit and always run " "checkout" msgstr "" +"Se débarrasser des changements locaux en passant à une autre validation, et " +"toujours exécuter checkout" #: /tmp/fish/implicit/share/completions/git.fish:344 +#, fuzzy msgid "Also add ignored submodule path" -msgstr "" +msgstr "Ajouter également le chemin du sous-module ignoré" #: /tmp/fish/implicit/share/completions/git.fish:345 -#, fuzzy msgid "Remove even with local changes" -msgstr "Patcher les changements locaux" +msgstr "Supprimer même en cas de changements locaux" #: /tmp/fish/implicit/share/completions/git.fish:346 msgid "Use the commit stored in the index" -msgstr "" +msgstr "Utiliser la validation présente dans l’index" #: /tmp/fish/implicit/share/completions/git.fish:347 msgid "Compare the commit in the index with submodule HEAD" msgstr "" +"Comparer la validation présente dans l’index avec la HEAD du sous-module" #: /tmp/fish/implicit/share/completions/git.fish:348 -#, fuzzy msgid "Traverse submodules recursively" -msgstr "Opérer récursivement" +msgstr "Opérer récursivement sur les sous-modules" #: /tmp/fish/implicit/share/completions/git.fish:349 msgid "Show logs with difference each commit introduces" msgstr "" +"Afficher les journaux avec les différences introduites par les différentes " +"validations" #: /tmp/fish/implicit/share/completions/git.fish:350 -#, fuzzy msgid "Remove untracked files from the working tree" -msgstr "Supprimer tous les fichiers gz de la cache" +msgstr "Supprimer tous les fichiers non suivis de la copie de travail" #: /tmp/fish/implicit/share/completions/git.fish:351 -#, fuzzy msgid "Force run" -msgstr "Forcé à quitter" +msgstr "Forcer l’exécution" #: /tmp/fish/implicit/share/completions/git.fish:352 msgid "Show what would be done and clean files interactively" -msgstr "" +msgstr "Montrer ce qui serait fait et nettoyer les fichiers interactivement" #: /tmp/fish/implicit/share/completions/git.fish:353 msgid "Don't actually remove anything, just show what would be done" -msgstr "" +msgstr "Ne rien supprimer effectivement, montrer seulement ce qui serait fait" #: /tmp/fish/implicit/share/completions/git.fish:354 msgid "Be quiet, only report errors" -msgstr "" +msgstr "Être silencieux, ne mentionner que les erreurs" #: /tmp/fish/implicit/share/completions/git.fish:355 msgid "Remove untracked directories in addition to untracked files" -msgstr "" +msgstr "Supprimer les dossiers non suivis en plus des fichiers non suivis" #: /tmp/fish/implicit/share/completions/git.fish:356 msgid "Remove ignored files, as well" -msgstr "" +msgstr "Supprimer également les fichiers ignorés" #: /tmp/fish/implicit/share/completions/git.fish:357 -#, fuzzy msgid "Remove only ignored files" -msgstr "Rapporter les fichiers identiques" +msgstr "Ne supprimer que les fichiers ignorés" #: /tmp/fish/implicit/share/completions/git.fish:358 -#, fuzzy msgid "Show what revision and author last modified each line of a file" -msgstr "Afficher la dernière révision où chaque ligne a été modifiée" +msgstr "" +"Afficher la dernière révision, avec son auteur, ayant modifié chaque ligne" #: /tmp/fish/implicit/share/completions/git.fish:359 msgid "Show blank SHA-1 for boundary commits" -msgstr "" +msgstr "Montrer une somme SHA-1 blanche pour les validations de limite" #: /tmp/fish/implicit/share/completions/git.fish:360 msgid "Do not treat root commits as boundaries" -msgstr "" +msgstr "Ne pas traiter les validations racine comme des limites" #: /tmp/fish/implicit/share/completions/git.fish:361 msgid "Include additional statistics" -msgstr "" +msgstr "Inclure des statistiques supplémentaires" #: /tmp/fish/implicit/share/completions/git.fish:362 msgid "Annotate only the given line range" -msgstr "" +msgstr "N’annoter que l’intervalle de lignes donné" #: /tmp/fish/implicit/share/completions/git.fish:363 msgid "Show long rev" -msgstr "" +msgstr "Afficher intégralement la révision" #: /tmp/fish/implicit/share/completions/git.fish:364 -#, fuzzy msgid "Show raw timestamp" -msgstr "Afficher les entrées ARP" +msgstr "Afficher l’horodatage brut" #: /tmp/fish/implicit/share/completions/git.fish:365 msgid "Use revisions from named file instead of calling rev-list" -msgstr "" +msgstr "Utiliser les révisions du fichier précisé au lieu d’appeler rev-list" #: /tmp/fish/implicit/share/completions/git.fish:366 msgid "Walk history forward instead of backward" -msgstr "" +msgstr "Parcourir l’historique en avançant plutôt qu’en reculant" #: /tmp/fish/implicit/share/completions/git.fish:367 msgid "Show in a format designed for machine consumption" -msgstr "" +msgstr "Afficher dans un format conçu pour un traitement informatique" #: /tmp/fish/implicit/share/completions/git.fish:368 msgid "Show the porcelain format" -msgstr "" +msgstr "Afficher le format porcelaine" #: /tmp/fish/implicit/share/completions/git.fish:369 -#, fuzzy msgid "Show the result incrementally" -msgstr "Afficher le temps" +msgstr "Afficher le résultat de manière incrémentale" #: /tmp/fish/implicit/share/completions/git.fish:370 msgid "Instead of working tree, use the contents of the named file" -msgstr "" +msgstr "Utiliser le contenu du fichier précisé, pas la copie de travail" #: /tmp/fish/implicit/share/completions/git.fish:371 -#, fuzzy msgid "Specifies the format used to output dates" -msgstr "Spécifier l'expiration de la cache" +msgstr "Spécifier le format d’affichage des dates" #: /tmp/fish/implicit/share/completions/git.fish:372 msgid "Detect moved or copied lines within a file" -msgstr "" +msgstr "Détecter les lignes déplacées ou dupliquées dans un fichier" #: /tmp/fish/implicit/share/completions/git.fish:373 +#, fuzzy msgid "" "Detect lines moved or copied from other files that were modified in the same " "commit" msgstr "" +"Détecter les lignes déplacées ou copiées depuis d’autres fichiers, eux-mêmes " +"modifiés par la même validation" #: /tmp/fish/implicit/share/completions/git.fish:375 msgid "Use the same output mode as git-annotate" -msgstr "" +msgstr "Utiliser le même affichage que git-annotate" #: /tmp/fish/implicit/share/completions/git.fish:376 -#, fuzzy msgid "Show the filename in the original commit" -msgstr "Changer le répertoire de travail" +msgstr "Afficher le nom du fichier dans la validation originelle" #: /tmp/fish/implicit/share/completions/git.fish:377 msgid "Show the line number in the original commit" -msgstr "" +msgstr "Afficher le numéro de ligne dans la validation originelle" #: /tmp/fish/implicit/share/completions/git.fish:378 msgid "Suppress the author name and timestamp from the output" -msgstr "" +msgstr "Supprimer le nom de l’auteur et l’horodatage de la sortie" #: /tmp/fish/implicit/share/completions/git.fish:379 msgid "Show the author email instead of author name" -msgstr "" +msgstr "Afficher l’adresse email de l’auteur au lieu de son nom" #: /tmp/fish/implicit/share/completions/git.fish:380 -#, fuzzy msgid "Ignore whitespace changes" -msgstr "Ignorer les blancs" +msgstr "Ignorer les modifications dans les blancs" #: /tmp/fish/implicit/share/completions/git.fish:381 -#, fuzzy msgid "Custom command" -msgstr "Commande de tâche" +msgstr "Commande personnalisée" #: /tmp/fish/implicit/share/completions/godoc.fish:1 #, fuzzy @@ -26909,70 +26867,72 @@ msgid "set the list of administrators for GROUP" msgstr "" #: /tmp/fish/implicit/share/completions/gpg.fish:1 -#, fuzzy msgid "Complete using gpg user ids" -msgstr "Définir les options de config" +msgstr "Compléter en utilisant les identifiants des utilisateurs GPG" #: /tmp/fish/implicit/share/completions/gpg.fish:2 -#, fuzzy msgid "Complete using gpg key ids" -msgstr "Définir les options de config" +msgstr "Compléter en utilisant les identifiants des clés GPG" #: /tmp/fish/implicit/share/completions/gpg.fish:3 msgid "" "Complete using all algorithms of the type specified in argv[1] supported by " "gpg. argv[1] is a regexp" msgstr "" +"Compléter en utilisant tous les algorithmes supportés par GPG et spécifiés " +"par argv[1], une regexp" #: /tmp/fish/implicit/share/completions/gpg.fish:4 msgid "Make a signature" -msgstr "" +msgstr "Signer" #: /tmp/fish/implicit/share/completions/gpg.fish:5 msgid "Make a clear text signature" -msgstr "" +msgstr "Signer en clair" #: /tmp/fish/implicit/share/completions/gpg.fish:6 msgid "Make a detached signature" -msgstr "" +msgstr "Signer séparément" #: /tmp/fish/implicit/share/completions/gpg.fish:7 -#, fuzzy msgid "Encrypt data" -msgstr "Encrypter tout le trafic réseau" +msgstr "Chiffrer des données" #: /tmp/fish/implicit/share/completions/gpg.fish:8 msgid "Encrypt with a symmetric cipher using a passphrase" -msgstr "" +msgstr "Chiffrer avec un algorithme symétrique utilisant une phrase de passe" #: /tmp/fish/implicit/share/completions/gpg.fish:9 msgid "Store only (make a simple RFC1991 packet)" -msgstr "" +msgstr "Stocker seulement (créer un simple paquet RFC1991)" #: /tmp/fish/implicit/share/completions/gpg.fish:10 -#, fuzzy msgid "Decrypt specified file or stdin" -msgstr "Redirige vers un descripteur de fichier" +msgstr "Déchiffrer le fichier spécifié, ou l’entrée standard" #: /tmp/fish/implicit/share/completions/gpg.fish:11 msgid "Assume specified file or stdin is sigfile and verify it" msgstr "" +"Présumer que le fichier spécifié, ou l’entrée standard, est une signature, " +"et la vérifier" #: /tmp/fish/implicit/share/completions/gpg.fish:12 msgid "Modify certain other commands to accept multiple files for processing" msgstr "" +"Modifier certaines autres commandes afin qu’elles acceptent de traiter " +"plusieurs fichiers" #: /tmp/fish/implicit/share/completions/gpg.fish:13 msgid "Identical to '--multifile --verify'" -msgstr "" +msgstr "Identique à « --multifile --verify »" #: /tmp/fish/implicit/share/completions/gpg.fish:14 msgid "Identical to '--multifile --encrypt'" -msgstr "" +msgstr "Identique à « --multifile --encrypt »" #: /tmp/fish/implicit/share/completions/gpg.fish:15 msgid "Identical to --multifile --decrypt" -msgstr "" +msgstr "Identique à « --multifile --decrypt »" #: /tmp/fish/implicit/share/completions/gpg.fish:16 #: /tmp/fish/implicit/share/completions/gpg.fish:17 @@ -26980,733 +26940,823 @@ msgid "" "List all keys from the public keyrings, or just the ones given on the " "command line" msgstr "" +"Lister toutes les clés des trousseaux publics, ou seulement celles données " +"sur la ligne de commande" #: /tmp/fish/implicit/share/completions/gpg.fish:18 msgid "" "List all keys from the secret keyrings, or just the ones given on the " "command line" msgstr "" +"Lister toutes les clés des trousseaux privés, ou seulement celles données " +"sur la ligne de commande" #: /tmp/fish/implicit/share/completions/gpg.fish:19 msgid "Same as --list-keys, but the signatures are listed too" msgstr "" +"Pareil à --list-keys, sauf pour les signatures qui seront également listées" #: /tmp/fish/implicit/share/completions/gpg.fish:20 msgid "Same as --list-keys, but the signatures are listed and verified" msgstr "" +"Pareil à --list-keys, sauf pour les signatures qui seront également listées " +"et vérifiées" #: /tmp/fish/implicit/share/completions/gpg.fish:21 msgid "List all keys with their fingerprints" -msgstr "" +msgstr "Lister toutes les clés avec leurs empreintes" #: /tmp/fish/implicit/share/completions/gpg.fish:22 -#, fuzzy msgid "Generate a new key pair" -msgstr "Génère un nombre aléatoire" +msgstr "Générer une nouvelle paire de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:23 msgid "Present a menu which enables you to do all key related tasks" msgstr "" +"Proposer un menu vous permettant d’effectuer toute opération afférente aux " +"clés" #: /tmp/fish/implicit/share/completions/gpg.fish:24 msgid "Sign a public key with your secret key" -msgstr "" +msgstr "Signer une clé publique avec votre clé privée" #: /tmp/fish/implicit/share/completions/gpg.fish:25 msgid "Sign a public key with your secret key but mark it as non exportable" msgstr "" +"Signer une clé publique avec votre clé privée mais marquer la première comme " +"non exportable" #: /tmp/fish/implicit/share/completions/gpg.fish:26 -#, fuzzy msgid "Remove key from the public keyring" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer la clé du trousseau public" #: /tmp/fish/implicit/share/completions/gpg.fish:27 -#, fuzzy msgid "Remove key from the secret and public keyring" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer la clé des trousseaux public et privé" #: /tmp/fish/implicit/share/completions/gpg.fish:28 msgid "" "Same as --delete-key, but if a secret key exists, it will be removed first" msgstr "" +"Pareil à --delete-key, mais, si une clé privée existe, elle sera supprimée " +"au préalable" #: /tmp/fish/implicit/share/completions/gpg.fish:29 msgid "Generate a revocation certificate for the complete key" -msgstr "" +msgstr "Générer un certificat de révocation pour la clé complète" #: /tmp/fish/implicit/share/completions/gpg.fish:30 msgid "Generate a designated revocation certificate for a key" -msgstr "" +msgstr "Générer un certificat de révocation mandatée pour une clé" #: /tmp/fish/implicit/share/completions/gpg.fish:31 msgid "Export all or the given keys from all keyrings" -msgstr "" +msgstr "Exporter toutes les clés, ou celles désignées, de tous les trousseaux" #: /tmp/fish/implicit/share/completions/gpg.fish:32 msgid "Same as --export but sends the keys to a keyserver" -msgstr "" +msgstr "Pareil à --export, en envoyant les clés à un serveur de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:33 #: /tmp/fish/implicit/share/completions/gpg.fish:34 msgid "Same as --export, but exports the secret keys instead" -msgstr "" +msgstr "Pareil à --export, pour les clés privées" #: /tmp/fish/implicit/share/completions/gpg.fish:35 #: /tmp/fish/implicit/share/completions/gpg.fish:36 msgid "Import/merge keys" -msgstr "" +msgstr "Importer ou fusionner des clés" #: /tmp/fish/implicit/share/completions/gpg.fish:37 msgid "Import the keys with the given key IDs from a keyserver" -msgstr "" +msgstr "Importer les clés d’identifiant donné d’un serveur de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:38 msgid "" "Request updates from a keyserver for keys that already exist on the local " "keyring" msgstr "" +"Demander à un serveur de clés les mises à jour pour les clés existant dans " +"le trousseau local" #: /tmp/fish/implicit/share/completions/gpg.fish:39 msgid "Search the keyserver for the given names" -msgstr "" +msgstr "Rechercher les noms donnés sur le serveur de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:40 msgid "Do trust database maintenance" -msgstr "" +msgstr "Faire un entretien de la base de confiance" #: /tmp/fish/implicit/share/completions/gpg.fish:41 msgid "Do trust database maintenance without user interaction" -msgstr "" +msgstr "Faire un entretien de la base de confiance non interactivement" #: /tmp/fish/implicit/share/completions/gpg.fish:42 msgid "Send the ownertrust values to stdout" msgstr "" +"Envoyer les informations de confiance du propriétaire sur la sortie standard" #: /tmp/fish/implicit/share/completions/gpg.fish:43 msgid "" "Update the trustdb with the ownertrust values stored in specified files or " "stdin" msgstr "" +"Mettre à jour la base de confiance avec les valeurs de confiance du " +"propriétaire présentes dans les fichiers spécifiés ou données par l’entrée " +"standard" #: /tmp/fish/implicit/share/completions/gpg.fish:44 msgid "Create signature caches in the keyring" -msgstr "" +msgstr "Créer les caches de signature dans le trousseau" #: /tmp/fish/implicit/share/completions/gpg.fish:45 msgid "" "Print message digest of specified algorithm for all given files or stdin" msgstr "" +"Afficher le hachage donné par l’algorithme spécifié, ce pour tous les " +"fichiers ou pour l’entrée standard" #: /tmp/fish/implicit/share/completions/gpg.fish:46 msgid "Print message digest of all algorithms for all given files or stdin" msgstr "" +"Afficher les hachages donnés par tous les algorithmes, ce pour tous les " +"fichiers ou pour l’entrée standard" #: /tmp/fish/implicit/share/completions/gpg.fish:47 msgid "Emit specified number of random bytes of the given quality level" msgstr "" +"Donner le nombre d’octets spécifié de données aléatoires d’une qualité donnée" #: /tmp/fish/implicit/share/completions/gpg.fish:48 -#, fuzzy msgid "Display version and supported algorithms, and exit" -msgstr "Afficher la version et quitter" +msgstr "Afficher la version et les algorithmes supportés, et quitter" #: /tmp/fish/implicit/share/completions/gpg.fish:49 -#, fuzzy msgid "Display warranty and exit" -msgstr "Afficher la version et quitter" +msgstr "Afficher la licence et quitter" #: /tmp/fish/implicit/share/completions/gpg.fish:51 msgid "Create ASCII armored output" -msgstr "" +msgstr "Créer une sortie avec armure ASCII" #: /tmp/fish/implicit/share/completions/gpg.fish:52 #: /tmp/fish/implicit/share/completions/msgfmt.fish:8 #: /tmp/fish/implicit/share/completions/xgettext.fish:4 msgid "Write output to specified file" -msgstr "" +msgstr "Écrire la sorte dans le fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:53 msgid "" "Sets a limit on the number of bytes that will be generated when processing a " "file" msgstr "" +"Paramétrer une limite sur le nombre d’octets qui seront générés lors du " +"traitement d’un fichier" #: /tmp/fish/implicit/share/completions/gpg.fish:54 msgid "Use specified key as the key to sign with" -msgstr "" +msgstr "Utiliser la clé spécifiée pour la signature" #: /tmp/fish/implicit/share/completions/gpg.fish:55 msgid "Use specified key as the default key to sign with" -msgstr "" +msgstr "Utiliser par défaut la clé spécifiée pour les signatures" #: /tmp/fish/implicit/share/completions/gpg.fish:56 -#, fuzzy msgid "Encrypt for specified user id" -msgstr "Utiliser la file spécifiée" +msgstr "Chiffrer pour l’identifiant utilisateur spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:57 msgid "Encrypt for specified user id, but hide the keyid of the key" msgstr "" +"Chiffrer pour l’identifiant utilisateur spécifié, mais dissimuler " +"l’identifiant de la clé" #: /tmp/fish/implicit/share/completions/gpg.fish:58 msgid "Use specified user id as default recipient" -msgstr "" +msgstr "Utiliser l’identifiant utilisateur donné comme destinataire par défaut" #: /tmp/fish/implicit/share/completions/gpg.fish:59 msgid "Use the default key as default recipient" -msgstr "" +msgstr "Utiliser l’identifiant de clé donné comme destinataire par défaut" #: /tmp/fish/implicit/share/completions/gpg.fish:60 msgid "Reset --default-recipient and --default-recipient-self" -msgstr "" +msgstr "Réinitialiser --default-recipient et --default-recipient-self" #: /tmp/fish/implicit/share/completions/gpg.fish:61 msgid "Give more information during processing" -msgstr "" +msgstr "Donner plus de détails lors du traitement" #: /tmp/fish/implicit/share/completions/gpg.fish:63 #: /tmp/fish/implicit/share/completions/gpg.fish:64 #: /tmp/fish/implicit/share/completions/gpg.fish:65 -#, fuzzy msgid "Compression level" -msgstr "Compresser le fichier" +msgstr "Niveau de compression" #: /tmp/fish/implicit/share/completions/gpg.fish:66 msgid "Use a different decompression method for BZIP2 compressed files" msgstr "" +"Utiliser une méthode de compression différente pour les fichiers compressés " +"en BZIP2" #: /tmp/fish/implicit/share/completions/gpg.fish:67 msgid "" "Treat input files as text and store them in the OpenPGP canonical text form " "with standard 'CRLF' line endings" msgstr "" +"Traiter les fichiers d’entrée comme du texte et les stocker en forme texte " +"canonique OpenPGP avec les fins de ligne « CRFL » standards" #: /tmp/fish/implicit/share/completions/gpg.fish:68 msgid "" "Don't treat input files as text and store them in the OpenPGP canonical text " "form with standard 'CRLF' line endings" msgstr "" +"Ne pas traiter les fichiers d’entrée comme du texte, ni les stocker en forme " +"texte canonique OpenPGP avec les fins de ligne « CRFL » standards" #: /tmp/fish/implicit/share/completions/gpg.fish:69 msgid "Don't make any changes (this is not completely implemented)" -msgstr "" +msgstr "Ne faire aucune modification (ceci est implémenté incomplètement)" #: /tmp/fish/implicit/share/completions/gpg.fish:70 #: /tmp/fish/implicit/share/completions/mv.fish:3 -#, fuzzy msgid "Prompt before overwrite" -msgstr "Les fonctions courantes sont: " +msgstr "Demander avant d’écraser" #: /tmp/fish/implicit/share/completions/gpg.fish:71 #: /tmp/fish/implicit/share/completions/scp.fish:3 #: /tmp/fish/implicit/share/completions/top.fish:1 -#, fuzzy msgid "Batch mode" -msgstr "Mode silencieux" +msgstr "Mode de traitement par lot" #: /tmp/fish/implicit/share/completions/gpg.fish:72 msgid "Don't use batch mode" -msgstr "" +msgstr "Ne pas utiliser le mode de traitement par lot" #: /tmp/fish/implicit/share/completions/gpg.fish:73 -#, fuzzy msgid "Never write output to terminal" -msgstr "Redirige la sortie vers un fichier" +msgstr "Ne jamais écrire la sortie dans un terminal" #: /tmp/fish/implicit/share/completions/gpg.fish:74 -#, fuzzy msgid "Assume yes on most questions" -msgstr "Assumer oui à toutes les questions" +msgstr "Présumer « oui » comme réponse à la plupart des questions" #: /tmp/fish/implicit/share/completions/gpg.fish:75 -#, fuzzy msgid "Assume no on most questions" -msgstr "Assumer non comme réponse" +msgstr "Présumer « non » comme réponse à la plupart des questions" #: /tmp/fish/implicit/share/completions/gpg.fish:76 msgid "Prompt for a certification level when making a key signature" -msgstr "" +msgstr "Demander un niveau de certification lors de la signature d’une clé" #: /tmp/fish/implicit/share/completions/gpg.fish:77 msgid "Don't prompt for a certification level when making a key signature" msgstr "" +"Ne pas demander de niveau de certification lors de la signature d’une clé" #: /tmp/fish/implicit/share/completions/gpg.fish:78 +#, fuzzy msgid "" "The default certification level to use for the level check when signing a key" msgstr "" +"Le niveau de certification par défaut à utiliser pour la vérification de " +"niveau lors de la signature d’une clé" #: /tmp/fish/implicit/share/completions/gpg.fish:79 msgid "" "Disregard any signatures with a certification level below specified level " "when building the trust database" msgstr "" +"Ignorer toute signature dont le niveau de certification est inférieur à " +"celui spécifié lors de la la construction de la base de confiance" #: /tmp/fish/implicit/share/completions/gpg.fish:80 msgid "" "Assume that the specified key is as trustworthy as one of your own secret " "keys" msgstr "" +"Présumer que la clé donnée est aussi fiable que l’une de vos propres clés " +"privées" #: /tmp/fish/implicit/share/completions/gpg.fish:81 -#, fuzzy msgid "Specify trust model" -msgstr "Spécifier le type d'enregistrement" +msgstr "Spécifier le modèle de confiance" #: /tmp/fish/implicit/share/completions/gpg.fish:82 msgid "Select how to display key IDs" -msgstr "" +msgstr "Sélectionner le mode d’affichage des identifiants de clé" #: /tmp/fish/implicit/share/completions/gpg.fish:83 msgid "Use specified keyserver" -msgstr "" +msgstr "Utiliser le serveur de clés spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:84 msgid "Options for the keyserver" -msgstr "" +msgstr "Options pour le serveur de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:85 msgid "Options for importing keys" -msgstr "" +msgstr "Options pour l’import de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:86 msgid "Options for exporting keys" -msgstr "" +msgstr "Options pour l’export de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:87 msgid "Options for listing keys and signatures" -msgstr "" +msgstr "Options pour le listage de clés et de signatures" #: /tmp/fish/implicit/share/completions/gpg.fish:88 msgid "Options for verifying signatures" -msgstr "" +msgstr "Options pour la vérification de signatures" #: /tmp/fish/implicit/share/completions/gpg.fish:89 msgid "The command line that should be run to view a photo ID" -msgstr "" +msgstr "La ligne de commande à utiliser pour visionner une photo d’identité" #: /tmp/fish/implicit/share/completions/gpg.fish:90 msgid "" "Sets a list of directories to search for photo viewers and keyserver helpers" msgstr "" +"Paramètre une liste de dossiers où rechercher les visionneurs de photo et " +"les assistants de serveurs de clés" #: /tmp/fish/implicit/share/completions/gpg.fish:91 msgid "" "Display the keyring name at the head of key listings to show which keyring a " "given key resides on" msgstr "" +"Afficher le nom du trousseau en tête des listes de clés, pour montrer sur " +"quel trousseau les clés résident" #: /tmp/fish/implicit/share/completions/gpg.fish:92 msgid "Add specified file to the current list of keyrings" -msgstr "" +msgstr "Ajouter le fichier spécifié dans la liste des trousseaux" #: /tmp/fish/implicit/share/completions/gpg.fish:93 msgid "Add specified file to the current list of secret keyrings" -msgstr "" +msgstr "Ajouter le fichier spécifié dans la liste des trousseaux privés" #: /tmp/fish/implicit/share/completions/gpg.fish:94 msgid "Designate specified file as the primary public keyring" -msgstr "" +msgstr "Désigner le fichier spécifié comme le trousseau public principal" #: /tmp/fish/implicit/share/completions/gpg.fish:95 msgid "Use specified file instead of the default trustdb" msgstr "" +"Utiliser le fichier spécifié au lieu de la base de confiance par défaut" #: /tmp/fish/implicit/share/completions/gpg.fish:96 -#, fuzzy msgid "Set the home directory" -msgstr "Changer le répertoire de travail" +msgstr "Paramétrer le dossier personnel" #: /tmp/fish/implicit/share/completions/gpg.fish:97 msgid "Set the native character set" -msgstr "" +msgstr "Paramétrer le jeu de caractères codés natif" #: /tmp/fish/implicit/share/completions/gpg.fish:98 msgid "Assume that following command line arguments are given in UTF8" msgstr "" +"Présumer que les arguments de ligne de commande suivants sont donnés en UTF-8" #: /tmp/fish/implicit/share/completions/gpg.fish:99 msgid "" "Assume that following arguments are encoded in the character set specified " "by --display-charset" msgstr "" +"Présumer que les arguments de ligne de commande suivants sont encodés " +"suivant le jeu de caractères codés spécifié par --display-charset" #: /tmp/fish/implicit/share/completions/gpg.fish:100 msgid "Read options from specified file, do not read the default options file" -msgstr "" +msgstr "Lire les options depuis le fichier spécifié, ignorer celui par défaut" #: /tmp/fish/implicit/share/completions/gpg.fish:101 -#, fuzzy msgid "Shortcut for '--options /dev/null'" -msgstr "Sortie vers /dev/null" +msgstr "Raccourci pour « --options /dev/null »" #: /tmp/fish/implicit/share/completions/gpg.fish:102 msgid "Load an extension module" -msgstr "" +msgstr "Charger un module d’extension" #: /tmp/fish/implicit/share/completions/gpg.fish:103 msgid "Write special status strings to the specified file descriptor" -msgstr "" +msgstr "Écrire les messages d’état dans le descripteur de fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:104 msgid "Write log output to the specified file descriptor" -msgstr "" +msgstr "Écrire les messages de journal dans le descripteur de fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:105 msgid "Write attribute subpackets to the specified file descriptor" msgstr "" +"Écrire les sous-paquets d’attribut dans le descripteur de fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:106 msgid "Include secret key comment packets when exporting secret keys" msgstr "" +"Inclure les paquets de commentaire de la clé privée lors de l’exportation de " +"clés privées" #: /tmp/fish/implicit/share/completions/gpg.fish:107 msgid "Don't include secret key comment packets when exporting secret keys" msgstr "" +"Ne pas inclure les paquets de commentaire de la clé privée lors de " +"l’exportation de clés privées" #: /tmp/fish/implicit/share/completions/gpg.fish:108 msgid "Use specified string as comment string" -msgstr "" +msgstr "Utiliser la chaîne spécifiée comme chaîne de commentaire" #: /tmp/fish/implicit/share/completions/gpg.fish:109 -#, fuzzy msgid "Don't use a comment string" -msgstr "Ne pas utiliser la complétion de fichier" +msgstr "Ne pas utiliser de chaîne de commentaire" #: /tmp/fish/implicit/share/completions/gpg.fish:110 msgid "Include the version string in ASCII armored output" -msgstr "" +msgstr "Inclure la chaîne de version dans la sortie en armure ASCII" #: /tmp/fish/implicit/share/completions/gpg.fish:111 -#, fuzzy msgid "Don't include the version string in ASCII armored output" -msgstr "Lister les dépendances inverses du paquet" +msgstr "Ne pas inclure la chaîne de version dans la sortie en armure ASCII" #: /tmp/fish/implicit/share/completions/gpg.fish:112 msgid "Put the specified name value pair into the signature as notation data" msgstr "" +"Ajouter la paire nom-valeur spécifiée dans la signature comme donnée de " +"notation" #: /tmp/fish/implicit/share/completions/gpg.fish:113 msgid "Set signature policy" -msgstr "" +msgstr "Paramétrer la politique de signature" #: /tmp/fish/implicit/share/completions/gpg.fish:114 msgid "Set certificate policy" -msgstr "" +msgstr "Paramétrer la politique de certificat" #: /tmp/fish/implicit/share/completions/gpg.fish:115 msgid "Set signature and certificate policy" -msgstr "" +msgstr "Paramétrer la politique de signature et de certificat" #: /tmp/fish/implicit/share/completions/gpg.fish:116 msgid "Use specified URL as a preferred keyserver for data signatures" msgstr "" +"Utiliser l’URL spécifiée comme un serveur de clé favori pour les signatures " +"de données" #: /tmp/fish/implicit/share/completions/gpg.fish:117 msgid "Use specified string as the filename which is stored inside messages" msgstr "" +"Utiliser la chaîne spécifiée comme le nom de fichier stocké dans les messages" #: /tmp/fish/implicit/share/completions/gpg.fish:118 msgid "Set the 'for your eyes only' flag in the message" -msgstr "" +msgstr "Ajouter le drapeau « rien que pour vos yeux » dans le message" #: /tmp/fish/implicit/share/completions/gpg.fish:119 msgid "Clear the 'for your eyes only' flag in the message" -msgstr "" +msgstr "Effacer le drapeau « rien que pour vos yeux » dans le message" #: /tmp/fish/implicit/share/completions/gpg.fish:120 msgid "Create file with name as given in data" -msgstr "" +msgstr "Créer le fichier avec le nom donné dans les données" #: /tmp/fish/implicit/share/completions/gpg.fish:121 msgid "Don't create file with name as given in data" -msgstr "" +msgstr "Ne pas créer le fichier avec le nom donné dans les données" #: /tmp/fish/implicit/share/completions/gpg.fish:122 msgid "" "Number of completely trusted users to introduce a new key signer (defaults " "to 1)" msgstr "" +"Nombre d’utilisateurs doté d’une confiance complète pour ajouter un nouveau " +"signataire de clé (1 par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:123 msgid "" "Number of marginally trusted users to introduce a new key signer (defaults " "to 3)" msgstr "" +"Nombre d’utilisateurs doté d’une confiance marginale pour ajouter un nouveau " +"signataire de clé (3 par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:124 msgid "Maximum depth of a certification chain (default is 5)" -msgstr "" +msgstr "Profondeur maximale d’une chaîne de certification (5 par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:125 -#, fuzzy msgid "Use specified cipher algorithm" -msgstr "Utiliser la file spécifiée" +msgstr "Utiliser l’algorithme de chiffrement spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:126 msgid "Use specified message digest algorithm" -msgstr "" +msgstr "Utiliser l’algorithme de hachage spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:127 msgid "Use specified compression algorithm" -msgstr "" +msgstr "Utiliser l’algorithme de compression spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:128 msgid "Use specified message digest algorithm when signing a key" msgstr "" +"Utiliser l’algorithme de hachage spécifié lors de la signature d’une clé" #: /tmp/fish/implicit/share/completions/gpg.fish:129 msgid "Use specified cipher algorithm to protect secret keys" msgstr "" +"Utiliser l’algorithme de chiffrement spécifié pour protéger les clés privées" #: /tmp/fish/implicit/share/completions/gpg.fish:130 msgid "Use specified digest algorithm to mangle the passphrases" msgstr "" +"Utiliser l’algorithme de hachage spécifié pour modifier les phrases de passe" #: /tmp/fish/implicit/share/completions/gpg.fish:131 msgid "Selects how passphrases are mangled" -msgstr "" +msgstr "Sélectionne la façon de modifier les phrases de passe" #: /tmp/fish/implicit/share/completions/gpg.fish:132 msgid "Integrity protect secret keys by using a SHA-1 checksum" msgstr "" +"Protéger l’intégrité des clés privées en utilisant une somme de contrôle " +"SHA-1" #: /tmp/fish/implicit/share/completions/gpg.fish:133 msgid "Never allow the use of specified cipher algorithm" msgstr "" +"Ne jamais autoriser l’utilisation de l’algorithme de chiffrement spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:134 msgid "Never allow the use of specified public key algorithm" msgstr "" +"Ne jamais autoriser l’utilisation de l’algorithme de clé publique spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:135 msgid "Do not cache the verification status of key signatures" msgstr "" +"Ne pas mettre en cache le résultat de la validation des signatures de clé" #: /tmp/fish/implicit/share/completions/gpg.fish:136 msgid "Do not verify each signature right after creation" -msgstr "" +msgstr "Ne pas vérifier la signature de chaque clé lors de leur création" #: /tmp/fish/implicit/share/completions/gpg.fish:137 msgid "Automatically run the --check-trustdb command internally when needed" -msgstr "" +msgstr "Exécuter automatiquement --check-trustdb en interne le cas échéant" #: /tmp/fish/implicit/share/completions/gpg.fish:138 -#, fuzzy msgid "Never automatically run the --check-trustdb" -msgstr "Reconstruire et installer un paquet installé" +msgstr "Ne jamais exécuter automatiquement --check-trustdb" #: /tmp/fish/implicit/share/completions/gpg.fish:139 msgid "Do not put the recipient keyid into encrypted packets" msgstr "" +"Ne pas ajouter l’identifiant de la clé du destinataire dans les paquets " +"chiffrés" #: /tmp/fish/implicit/share/completions/gpg.fish:140 msgid "Put the recipient keyid into encrypted packets" msgstr "" +"Ajouter l’identifiant de la clé du destinataire dans les paquets chiffrés" #: /tmp/fish/implicit/share/completions/gpg.fish:141 msgid "" "Change the behavior of cleartext signatures so that they can be used for " "patch files" msgstr "" +"Modifier le comportement des signatures en clair pour permettre leur " +"utilisation dans des fichiers patch" #: /tmp/fish/implicit/share/completions/gpg.fish:142 msgid "Mangle From-field of email headers (default)" -msgstr "" +msgstr "Modifier l’en-tête email From (par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:143 msgid "Do not mangle From-field of email headers" -msgstr "" +msgstr "Ne pas modifier l’en-tête email From (par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:144 msgid "Read passphrase from specified file descriptor" -msgstr "" +msgstr "Lire la phrase de passe depuis le descripteur de fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:145 msgid "Read user input from specified file descriptor" msgstr "" +"Lire les saisies de l’utilisateur depuis le descripteur de fichier spécifié" #: /tmp/fish/implicit/share/completions/gpg.fish:146 msgid "Try to use the GnuPG-Agent" -msgstr "" +msgstr "Essayer d’utiliser l’agent GnuPG" #: /tmp/fish/implicit/share/completions/gpg.fish:147 msgid "Do not try to use the GnuPG-Agent" -msgstr "" +msgstr "Ne pas essayer d’utiliser l’agent GnuPG" #: /tmp/fish/implicit/share/completions/gpg.fish:148 msgid "Override value of GPG_AGENT_INFO environment variable" -msgstr "" +msgstr "Outrepasser la valeur de la variable d’environnement GPG_AGENT_INFO" #: /tmp/fish/implicit/share/completions/gpg.fish:149 msgid "Force v3 signatures for signatures on data" -msgstr "" +msgstr "Forcer les signatures de données au format v3" #: /tmp/fish/implicit/share/completions/gpg.fish:150 msgid "Do not force v3 signatures for signatures on data" -msgstr "" +msgstr "Ne pas forcer les signatures de données au format v3" #: /tmp/fish/implicit/share/completions/gpg.fish:151 msgid "Always use v4 key signatures even on v3 keys" msgstr "" +"Toujours utiliser des signatures au format v4 même sur des clés au format v3" #: /tmp/fish/implicit/share/completions/gpg.fish:152 msgid "Don't use v4 key signatures on v3 keys" -msgstr "" +msgstr "Ne jamais signer au format v4 des clés au format v3" #: /tmp/fish/implicit/share/completions/gpg.fish:153 msgid "Force the use of encryption with a modification detection code" msgstr "" +"Forcer l’utilisation du code de détection de modifications lors du " +"chiffrement" #: /tmp/fish/implicit/share/completions/gpg.fish:154 msgid "Disable the use of the modification detection code" -msgstr "" +msgstr "Ne pas utiliser de code de détection de modifications" #: /tmp/fish/implicit/share/completions/gpg.fish:155 msgid "" "Allow the import and use of keys with user IDs which are not self-signed" msgstr "" +"Autoriser l’importation et l’utilisation de clés non auto-signées, avec leur " +"identifiant utilisateur" #: /tmp/fish/implicit/share/completions/gpg.fish:156 msgid "" "Do not allow the import and use of keys with user IDs which are not self-" "signed" msgstr "" +"Refuser l’importation et l’utilisation de clés non auto-signées, avec leur " +"identifiant utilisateur" #: /tmp/fish/implicit/share/completions/gpg.fish:157 msgid "" "Disable all checks on the form of the user ID while generating a new one" msgstr "" +"Désactiver toutes les vérifications de format de l’identifiant utilisateur " +"lors de sa génération" #: /tmp/fish/implicit/share/completions/gpg.fish:158 msgid "Do not fail if signature is older than key" -msgstr "" +msgstr "Ne pas échouer si la signature est antérieure à la clé" #: /tmp/fish/implicit/share/completions/gpg.fish:159 msgid "Allow subkeys that have a timestamp from the future" -msgstr "" +msgstr "Permettre aux sous-clés d’avoir un horodatage dans le futur" #: /tmp/fish/implicit/share/completions/gpg.fish:160 msgid "Ignore CRC errors" -msgstr "" +msgstr "Ignorer les erreurs de CRC" #: /tmp/fish/implicit/share/completions/gpg.fish:161 msgid "Do not fail on MDC integrity protection failure" -msgstr "" +msgstr "Ne pas échouer en cas d’erreur de protection de l’intégrité" #: /tmp/fish/implicit/share/completions/gpg.fish:162 msgid "" "Lock the databases the first time a lock is requested and do not release the " "lock until the process terminates" msgstr "" +"Verrouiller les bases de données la première fois qu’un verrou est requis, " +"et ne pas relâcher ledit verrou avant la fin d’exécution du processus" #: /tmp/fish/implicit/share/completions/gpg.fish:163 msgid "Release the locks every time a lock is no longer needed" -msgstr "" +msgstr "Retirer les verrous dès qu’ils ne sont plus nécessaires" #: /tmp/fish/implicit/share/completions/gpg.fish:164 msgid "" "Do not create an internal pool file for quicker generation of random numbers" msgstr "" +"Ne pas créer de fichier interne en guise de pool pour une génération plus " +"rapide de nombres aléatoires" #: /tmp/fish/implicit/share/completions/gpg.fish:165 -#, fuzzy msgid "Reset verbose level to 0" -msgstr "Fichier sources.list de sortie" +msgstr "Remettre à 0 le niveau de jactance" #: /tmp/fish/implicit/share/completions/gpg.fish:166 msgid "Suppress the initial copyright message" -msgstr "" +msgstr "Supprimer le message de licence initial" #: /tmp/fish/implicit/share/completions/gpg.fish:167 msgid "Suppress the warning about 'using insecure memory'" msgstr "" +"Supprimer l’avertissement à propos de l’utilisation d’une mémoire non " +"sécurisée" #: /tmp/fish/implicit/share/completions/gpg.fish:168 msgid "" "Suppress the warning about unsafe file and home directory (--homedir) " "permissions" msgstr "" +"Supprimer l’avertissement à propos de permissions non sûres sur le fichier " +"et le dossier de l’utilisateur" #: /tmp/fish/implicit/share/completions/gpg.fish:169 msgid "Suppress the warning about missing MDC integrity protection" msgstr "" +"Supprimer l’avertissement à propos de l’absence de système de protection de " +"l’intégrité" #: /tmp/fish/implicit/share/completions/gpg.fish:170 msgid "Refuse to run if GnuPG cannot get secure memory" -msgstr "" +msgstr "Refuser l’exécution si GnuPG ne peut obtenir de mémoire sécurisée" #: /tmp/fish/implicit/share/completions/gpg.fish:171 msgid "Do not refuse to run if GnuPG cannot get secure memory (default)" msgstr "" +"Ne pas refuser l’exécution si GnuPG ne peut obtenir de mémoire sécurisée " +"(par défaut)" #: /tmp/fish/implicit/share/completions/gpg.fish:172 msgid "Assume the input data is not in ASCII armored format" -msgstr "" +msgstr "Présumer que les données d’entrée ne sont pas en armure ASCII" #: /tmp/fish/implicit/share/completions/gpg.fish:173 msgid "Do not add the default keyrings to the list of keyrings" -msgstr "" +msgstr "Ne pas ajouter les trousseaux par défaut à la liste des trousseaux" #: /tmp/fish/implicit/share/completions/gpg.fish:174 msgid "Skip the signature verification step" -msgstr "" +msgstr "Passer la vérification de la signature" #: /tmp/fish/implicit/share/completions/gpg.fish:175 msgid "Print key listings delimited by colons" -msgstr "" +msgstr "Afficher les listes de clés en les délimitant par des doubles points" #: /tmp/fish/implicit/share/completions/gpg.fish:176 msgid "" "Print key listings delimited by colons (like --with-colons) and print the " "public key data" msgstr "" +"Afficher les listes de clés en les délimitant par des doubles points (comme " +"avec --with-colons) et afficher les données de clé publique" #: /tmp/fish/implicit/share/completions/gpg.fish:177 +#, fuzzy msgid "" "Same as the command --fingerprint but changes only the format of the output " "and may be used together with another command" msgstr "" +"Pareil que la commande --fingerprint mais ne changer que le format de " +"sortie ; peut être utilisé avec une autre commande" #: /tmp/fish/implicit/share/completions/gpg.fish:178 msgid "Changes the output of the list commands to work faster" -msgstr "" +msgstr "Change la sortie des commandes de listage pour travailler plus vite" #: /tmp/fish/implicit/share/completions/gpg.fish:179 msgid "" "Do not merge primary user ID and primary key in --with-colon listing mode " "and print all timestamps as UNIX timestamps" msgstr "" +"Ne pas fusionner l’identifiant utilisateur primaire et la clé primaire dans " +"les listes avec --with-colon, et afficher tous les horodatages au format UNIX" #: /tmp/fish/implicit/share/completions/gpg.fish:180 msgid "" "Changes the behaviour of some commands. This is like --dry-run but different" msgstr "" +"Change le comportement de certaines commandes ; similaire à, quoique " +"différent de, --dry-run" #: /tmp/fish/implicit/share/completions/gpg.fish:181 msgid "Display the session key used for one message" -msgstr "" +msgstr "Afficher la clé de session utilisée pour un message" #: /tmp/fish/implicit/share/completions/gpg.fish:182 msgid "Don't use the public key but the specified session key" -msgstr "" +msgstr "Utiliser la clé de session spécifiée au lieu de la clé publique" #: /tmp/fish/implicit/share/completions/gpg.fish:183 #: /tmp/fish/implicit/share/completions/gpg.fish:185 msgid "Prompt for an expiration time" -msgstr "" +msgstr "Demander une date d’expiration" #: /tmp/fish/implicit/share/completions/gpg.fish:184 #: /tmp/fish/implicit/share/completions/gpg.fish:186 msgid "Do not prompt for an expiration time" -msgstr "" +msgstr "Ne pas demander une date d’expiration" #: /tmp/fish/implicit/share/completions/gpg.fish:187 msgid "" "Don't look at the key ID as stored in the message but try all secret keys in " "turn to find the right decryption key" msgstr "" +"Ne pas rechercher l’identifiant de clé tel qu’indiqué dans le message; " +"essayer à la place toutes les clés privées pour trouver la bonne" #: /tmp/fish/implicit/share/completions/gpg.fish:188 msgid "" @@ -27714,42 +27764,51 @@ msgid "" "decimal number, refer to the file descriptor n and not to a file with that " "name" msgstr "" +"Activer un mode dans lequel les noms de fichiers au format -&n, pour tout n " +"entier naturel, font référence au descripteur de fichier n et pas à un " +"fichier ainsi nommé" #: /tmp/fish/implicit/share/completions/gpg.fish:189 msgid "Sets up a named group, which is similar to aliases in email programs" msgstr "" +"Paramètre un groupe nommé, similaire aux alias pour les programmes d’email" #: /tmp/fish/implicit/share/completions/gpg.fish:190 -#, fuzzy msgid "Remove a given entry from the --group list" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer une entrée de la liste --group" #: /tmp/fish/implicit/share/completions/gpg.fish:191 -#, fuzzy msgid "Remove all entries from the --group list" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer toutes les entrées de la liste --group" #: /tmp/fish/implicit/share/completions/gpg.fish:192 msgid "" "Don't change the permissions of a secret keyring back to user read/write only" -msgstr "" +msgstr "Ne pas modifier les permissions d’un trousseau privé vers un accès " +"en lecture et écriture au seul utilisateur" #: /tmp/fish/implicit/share/completions/gpg.fish:193 msgid "Set the list of personal cipher preferences to the specified string" msgstr "" +"Donner la liste des préférences personnelles de chiffrement via la chaîne " +"spécifiée" #: /tmp/fish/implicit/share/completions/gpg.fish:194 msgid "Set the list of personal digest preferences to the specified string" msgstr "" +"Donner la liste des préférences personnelles de hachage via la chaîne " +"spécifiée" #: /tmp/fish/implicit/share/completions/gpg.fish:195 msgid "" "Set the list of personal compression preferences to the specified string" msgstr "" +"Donner la liste des préférences personnelles de compression via la chaîne " +"spécifiée" #: /tmp/fish/implicit/share/completions/gpg.fish:196 msgid "Set the list of default preferences to the specified string" -msgstr "" +msgstr "Donner la liste des préférences par défaut via la chaîne spécifiée" #: /tmp/fish/implicit/share/completions/gphoto2.fish:1 #, fuzzy @@ -27845,7 +27904,7 @@ msgstr "Spécifier un répertoire" #: /tmp/fish/implicit/share/completions/gphoto2.fish:22 #, fuzzy msgid "Specify serial transfer speed" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/gphoto2.fish:23 #, fuzzy @@ -28170,7 +28229,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/gprof.fish:29 #, fuzzy msgid "Specify debugging options" -msgstr "Spécifier les options" +msgstr "Spécifier les options de débogage" #: /tmp/fish/implicit/share/completions/gprof.fish:32 msgid "Profile data format" @@ -28346,122 +28405,119 @@ msgstr "" #: /tmp/fish/implicit/share/completions/grep.fish:2 msgid "Process binary file as text" -msgstr "" +msgstr "Traiter les fichiers binaires comme du texte" #: /tmp/fish/implicit/share/completions/grep.fish:5 msgid "Print byte offset of matches" -msgstr "" +msgstr "Afficher le décalage en octets des occurrences" #: /tmp/fish/implicit/share/completions/grep.fish:6 msgid "Assume data type for binary files" -msgstr "" +msgstr "Présumer du type de données pour les fichiers binaires" #: /tmp/fish/implicit/share/completions/grep.fish:7 msgid "Colour output" -msgstr "" +msgstr "Colorer la sortie" #: /tmp/fish/implicit/share/completions/grep.fish:8 #: /tmp/fish/implicit/share/completions/jq.fish:10 msgid "Color output" -msgstr "" +msgstr "Colorer la sortie" #: /tmp/fish/implicit/share/completions/grep.fish:9 msgid "Only print number of matches" -msgstr "" +msgstr "N’afficher que le nombre d’occurrences" #: /tmp/fish/implicit/share/completions/grep.fish:10 -#, fuzzy msgid "Action for devices" -msgstr "Afficher les dépendances importantes" +msgstr "Action à effectuer sur les fichiers de périphérique" #: /tmp/fish/implicit/share/completions/grep.fish:11 -#, fuzzy msgid "Action for directories" -msgstr "Nettoyer les répertoires source" +msgstr "Action à effectuer sur les dossiers" #: /tmp/fish/implicit/share/completions/grep.fish:12 msgid "Pattern is extended regexp" -msgstr "" +msgstr "Le motif est une expression régulière POSIX étendue" #: /tmp/fish/implicit/share/completions/grep.fish:13 msgid "Pattern is a regexp" -msgstr "" +msgstr "Le motif est une expression régulière" #: /tmp/fish/implicit/share/completions/grep.fish:14 msgid "Read pattern list from file. Skip files whose base name matches list" msgstr "" +"Lire la liste des motifs depuis un fichier ; passer les fichiers dont le nom " +"seul, sans chemin, apparaît dans la liste" #: /tmp/fish/implicit/share/completions/grep.fish:15 msgid "Exclude matching directories from recursive searches" -msgstr "" +msgstr "Exclure les répertoires correspondants des recherches récursives" #: /tmp/fish/implicit/share/completions/grep.fish:16 msgid "Pattern is a fixed string" -msgstr "" +msgstr "Le motif est une chaîne de caractères fixe" #: /tmp/fish/implicit/share/completions/grep.fish:17 -#, fuzzy msgid "Use patterns from a file" -msgstr "Lire le paquet depuis un fichier" +msgstr "Lire les motifs depuis un fichier" #: /tmp/fish/implicit/share/completions/grep.fish:18 msgid "Pattern is basic regex" -msgstr "" +msgstr "Le motif est une expression régulière basique" #: /tmp/fish/implicit/share/completions/grep.fish:19 msgid "Print filename" -msgstr "" +msgstr "Afficher le nom du fichier" #: /tmp/fish/implicit/share/completions/grep.fish:20 msgid "Suppress printing filename" -msgstr "" +msgstr "Ne pas afficher le nom du fichier" #: /tmp/fish/implicit/share/completions/grep.fish:22 msgid "Skip binary files" -msgstr "" +msgstr "Passer les fichiers binaires" #: /tmp/fish/implicit/share/completions/grep.fish:24 msgid "Print first non-matching file" -msgstr "" +msgstr "Afficher le premier fichier sans occurrences" #: /tmp/fish/implicit/share/completions/grep.fish:25 msgid "Print first matching file" -msgstr "" +msgstr "Afficher le premier fichier avec occurrences" #: /tmp/fish/implicit/share/completions/grep.fish:26 msgid "Stop reading after NUM matches" -msgstr "" +msgstr "Arrêter la lecture après N occurrences" #: /tmp/fish/implicit/share/completions/grep.fish:27 msgid "Use the mmap system call to read input" -msgstr "" +msgstr "Utiliser l’appel système mmap pour lire l’entrée" #: /tmp/fish/implicit/share/completions/grep.fish:28 -#, fuzzy msgid "Print line number" -msgstr "Afficher la licence" +msgstr "Afficher les numéros de ligne" #: /tmp/fish/implicit/share/completions/grep.fish:29 msgid "Show only matching part" -msgstr "" +msgstr "N’afficher que les parties correspondantes" #: /tmp/fish/implicit/share/completions/grep.fish:30 msgid "Rename stdin" -msgstr "" +msgstr "Renommer l’entrée standard" #: /tmp/fish/implicit/share/completions/grep.fish:31 msgid "Use line buffering" -msgstr "" +msgstr "Mettre les lignes dans un tampon" #: /tmp/fish/implicit/share/completions/grep.fish:32 -#, fuzzy msgid "Pattern is a Perl regexp (PCRE) string" -msgstr "Le motif est une regexp" +msgstr "Le motif est une expression régulière compatible Perl" #: /tmp/fish/implicit/share/completions/grep.fish:33 #: /tmp/fish/implicit/share/completions/grep.fish:34 msgid "Do not write anything" -msgstr "" +msgstr "Ne rien écrire" #: /tmp/fish/implicit/share/completions/grep.fish:35 #: /tmp/fish/implicit/share/completions/grep.fish:36 @@ -28471,74 +28527,80 @@ msgstr "Traiter les répertoires récursivement" #: /tmp/fish/implicit/share/completions/grep.fish:37 msgid "Search only files matching PATTERN" -msgstr "" +msgstr "Ne chercher que dans les fichiers au motif MOTIF" #: /tmp/fish/implicit/share/completions/grep.fish:38 msgid "Skip files matching PATTERN" -msgstr "" +msgstr "Ignorer les fichiers au motif MOTIF" #: /tmp/fish/implicit/share/completions/grep.fish:39 msgid "Suppress error messages" -msgstr "" +msgstr "Masquer les messages d’erreur" #: /tmp/fish/implicit/share/completions/grep.fish:40 msgid "Ensure first character of actual line content lies on a tab stop" msgstr "" +"S’assurer que le premier caractère correspondant au contenu est placé à un " +"emplacement d’arrêt d’une tabulation" #: /tmp/fish/implicit/share/completions/grep.fish:41 msgid "Treat files as binary" -msgstr "" +msgstr "Traiter les fichiers comme des fichiers binaires" #: /tmp/fish/implicit/share/completions/grep.fish:42 msgid "Report Unix-style byte offsets" -msgstr "" +msgstr "Afficher la position relative en octets dans le style UNIX" #: /tmp/fish/implicit/share/completions/grep.fish:44 msgid "Invert the sense of matching" -msgstr "" +msgstr "Rechercher ce qui n’est pas une occurrence" #: /tmp/fish/implicit/share/completions/grep.fish:45 msgid "Only whole matching words" msgstr "" +"Ne sélectionner que les lignes contenant des correspondances formant des " +"mots complets" #: /tmp/fish/implicit/share/completions/grep.fish:46 msgid "Only whole matching lines" -msgstr "" +msgstr "Ne sélectionner que les correspondances exactes de ligne entière" #: /tmp/fish/implicit/share/completions/grep.fish:47 msgid "Ignore case (deprecated: use -i instead)" msgstr "" +"Rechercher sans tenir compte de la casse (déprécié : utilisez -i en " +"remplacement)" #: /tmp/fish/implicit/share/completions/grep.fish:48 msgid "Treat input as a set of zero-terminated lines" -msgstr "" +msgstr "Traiter l’entrée en utilisant un caractère null comme séparateur de lignes" #: /tmp/fish/implicit/share/completions/grep.fish:49 msgid "Output a zero byte after filename" -msgstr "" +msgstr "Afficher NUL après le nom de fichier" #: /tmp/fish/implicit/share/completions/groupadd.fish:1 msgid "Exit with success status if the specified group already exists" msgstr "" +"Quitter avec un code de retour de zéro si le groupe spécifié existe déjà" #: /tmp/fish/implicit/share/completions/groupadd.fish:2 msgid "The numerical value of the group's ID" -msgstr "" +msgstr "Le GID du groupe à créer" #: /tmp/fish/implicit/share/completions/groupadd.fish:3 #: /tmp/fish/implicit/share/completions/useradd.fish:4 -#, fuzzy msgid "Display help message and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/groupadd.fish:4 #: /tmp/fish/implicit/share/completions/useradd.fish:7 msgid "Overrides default key/value pairs from /etc/login" -msgstr "" +msgstr "Outrepasser les paires clé-valeur par défaut fournies par /etc/login" #: /tmp/fish/implicit/share/completions/groupadd.fish:5 msgid "This option permits to add group with non-unique GID" -msgstr "" +msgstr "Cette option permet l’ajout d’un groupe dont le GID n’est pas unique" #: /tmp/fish/implicit/share/completions/grunt.fish:1 msgid "Print the grunt version. Combine with --verbose for more info" @@ -28608,43 +28670,38 @@ msgstr "Dépendances récursives" #: /tmp/fish/implicit/share/completions/gunzip.fish:4 #: /tmp/fish/implicit/share/completions/gzip.fish:4 -#, fuzzy msgid "List compression information" -msgstr "Afficher les ratios de compression" +msgstr "Afficher les statistiques de compression" #: /tmp/fish/implicit/share/completions/gunzip.fish:6 #: /tmp/fish/implicit/share/completions/gzip.fish:6 -#, fuzzy msgid "Do not save/restore filename" -msgstr "Ne pas suppr. les fichiers source" +msgstr "Ne pas conserver le nom de fichier et son horodatage" #: /tmp/fish/implicit/share/completions/gunzip.fish:7 #: /tmp/fish/implicit/share/completions/gzip.fish:7 msgid "Save/restore filename" -msgstr "" +msgstr "Conserver le nom de fichier et son horodatage" #: /tmp/fish/implicit/share/completions/gunzip.fish:8 #: /tmp/fish/implicit/share/completions/gzip.fish:8 -#, fuzzy msgid "Suppress warnings" -msgstr "Forcer une nouvelle révision" +msgstr "Masquer les avertissements" #: /tmp/fish/implicit/share/completions/gunzip.fish:9 #: /tmp/fish/implicit/share/completions/gzip.fish:9 -#, fuzzy msgid "Recurse directories" -msgstr "Nettoyer les répertoires source" +msgstr "Opérer récursivement" #: /tmp/fish/implicit/share/completions/gunzip.fish:10 #: /tmp/fish/implicit/share/completions/gzip.fish:10 msgid "Suffix" -msgstr "" +msgstr "Utiliser le suffixe spécifié au lieu de .gz" #: /tmp/fish/implicit/share/completions/gunzip.fish:12 #: /tmp/fish/implicit/share/completions/gzip.fish:12 -#, fuzzy msgid "Display compression ratios" -msgstr "Afficher les ratios de compression" +msgstr "Afficher les noms de fichiers et les ratios lors de la compression" #: /tmp/fish/implicit/share/completions/gv.fish:1 msgid "Display document using only black and white" @@ -28834,12 +28891,11 @@ msgstr "Afficher la version et quitter" #: /tmp/fish/implicit/share/completions/gzip.fish:14 msgid "Use fast setting" -msgstr "" +msgstr "Compresser au plus rapide" #: /tmp/fish/implicit/share/completions/gzip.fish:15 -#, fuzzy msgid "Use high compression setting" -msgstr "Afficher les ratios de compression" +msgstr "Compresser au plus efficace" #: /tmp/fish/implicit/share/completions/helm.fish:1 msgid "Enable verbose output" @@ -29161,80 +29217,81 @@ msgstr "Version de l'arbre source" #: /tmp/fish/implicit/share/completions/help.fish:1 msgid "Introduction to the fish syntax" -msgstr "" +msgstr "Introduction à la syntaxe de fish" #: /tmp/fish/implicit/share/completions/help.fish:2 msgid "Incomplete aspects of fish" -msgstr "" +msgstr "Aspects incomplets de fish" #: /tmp/fish/implicit/share/completions/help.fish:3 msgid "Known fish bugs" -msgstr "" +msgstr "Bogues connus de fish" #: /tmp/fish/implicit/share/completions/help.fish:4 msgid "Help on how to reuse previously entered commands" -msgstr "" +msgstr "Aide sur la réutilisation des commandes précédentes" #: /tmp/fish/implicit/share/completions/help.fish:5 msgid "Help on how tab-completion works" -msgstr "" +msgstr "Aide sur l’auto-complétion avec TAB" #: /tmp/fish/implicit/share/completions/help.fish:6 msgid "Help on how job control works" -msgstr "" +msgstr "Aide sur le contrôle des tâches" #: /tmp/fish/implicit/share/completions/help.fish:7 msgid "Summary on how fish differs from other shells" -msgstr "" +msgstr "Résumé des différences entre fish et les autres shells" #: /tmp/fish/implicit/share/completions/help.fish:8 msgid "Help on how to set the prompt" -msgstr "" +msgstr "Aide sur les réglages de l’invite" #: /tmp/fish/implicit/share/completions/help.fish:9 msgid "Help on how to set the titlebar message" -msgstr "" +msgstr "Aide sur les réglages du titre de la fenêtre" #: /tmp/fish/implicit/share/completions/help.fish:10 msgid "Help on how to copy and paste" -msgstr "" +msgstr "Aide sur le copier-coller" #: /tmp/fish/implicit/share/completions/help.fish:11 msgid "Help on editor shortcuts" -msgstr "" +msgstr "Aides sur les raccourcis de l’éditeur" #: /tmp/fish/implicit/share/completions/help.fish:12 msgid "Help on environment variables" -msgstr "" +msgstr "Aide sur les variables d’environnement" #: /tmp/fish/implicit/share/completions/help.fish:13 msgid "Help on setting syntax highlighting colors" -msgstr "" +msgstr "Aide sur les couleurs de la coloration syntaxique" #: /tmp/fish/implicit/share/completions/help.fish:14 #: /tmp/fish/implicit/share/completions/help.fish:15 msgid "Help on parameter expansion (Globbing)" -msgstr "" +msgstr "Aide sur l’expansion des paramètres (globs)" #: /tmp/fish/implicit/share/completions/help.fish:17 +#, fuzzy msgid "Help on home directory expansion ~USER" -msgstr "" +msgstr "Aide sur l’expansion du répertoire utilisateur ~USER" #: /tmp/fish/implicit/share/completions/help.fish:18 msgid "Help on brace expansion {a,b,c}" -msgstr "" +msgstr "Aide sur l’expansion des accolades {a,b,c}" #: /tmp/fish/implicit/share/completions/help.fish:19 msgid "Help on wildcard expansion *.*" -msgstr "" +msgstr "Aide sur l’expansion des métacaractères *.*" #: /tmp/fish/implicit/share/completions/help.fish:20 msgid "Help on command substitution (SUBCOMMAND)" -msgstr "" +msgstr "Aide sur la substitution de commandes (SUBCOMMAND)" #: /tmp/fish/implicit/share/completions/help.fish:21 msgid "Help on process expansion %JOB" -msgstr "" +msgstr "Aide sur l’expansion de processus %JOB" #: /tmp/fish/implicit/share/completions/heroku.fish:1 #, fuzzy @@ -31064,36 +31121,32 @@ msgstr "" #: /tmp/fish/implicit/share/completions/htop.fish:1 #: /tmp/fish/implicit/share/completions/top.fish:3 -#, fuzzy msgid "Update interval" -msgstr "Actualiser la liste des miroirs" +msgstr "Intervalle de raffraîchissement" #: /tmp/fish/implicit/share/completions/htop.fish:2 #: /tmp/fish/implicit/share/completions/htop.fish:3 -#, fuzzy msgid "Start htop in monochrome mode" -msgstr "Mode binaire" +msgstr "Démarrer htop en monochrome" #: /tmp/fish/implicit/share/completions/htop.fish:4 #: /tmp/fish/implicit/share/completions/mkdosfs.fish:22 #: /tmp/fish/implicit/share/completions/perl.fish:22 #: /tmp/fish/implicit/share/completions/pv.fish:32 -#, fuzzy msgid "Show help and exit" -msgstr "Afficher l'aide et quitter" +msgstr "Afficher l’aide et quitter" #: /tmp/fish/implicit/share/completions/htop.fish:5 -#, fuzzy msgid "Show only given PIDs" -msgstr "Afficher l'historique de tous les utilisateurs" +msgstr "Ne montrer que les processus de PID donné" #: /tmp/fish/implicit/share/completions/htop.fish:6 msgid "Monitor given user" -msgstr "" +msgstr "Surveiller l’utilisateur donné" #: /tmp/fish/implicit/share/completions/htop.fish:7 msgid "Sort column" -msgstr "" +msgstr "Colonne de tri" #: /tmp/fish/implicit/share/completions/i3-msg.fish:1 msgid "Only send ipc message and suppress output" @@ -31165,26 +31218,23 @@ msgstr "" #: /tmp/fish/implicit/share/completions/id.fish:1 msgid "Print effective group id" -msgstr "" +msgstr "Afficher le GID effectif" #: /tmp/fish/implicit/share/completions/id.fish:2 -#, fuzzy msgid "Print all group ids" -msgstr "Afficher toutes les versions" +msgstr "Afficher tous les GID" #: /tmp/fish/implicit/share/completions/id.fish:3 -#, fuzzy msgid "Print name, not number" -msgstr "Afficher la licence" +msgstr "Afficher le nom, pas l’ID" #: /tmp/fish/implicit/share/completions/id.fish:4 msgid "Print real ID, not effective" -msgstr "" +msgstr "Afficher le vrai ID, pas l’effectif" #: /tmp/fish/implicit/share/completions/id.fish:5 -#, fuzzy msgid "Print effective user ID" -msgstr "Afficher la licence" +msgstr "Afficher l’UID effectif" #: /tmp/fish/implicit/share/completions/iex.fish:15 msgid "Connects to a node using a remote shell" @@ -31198,152 +31248,136 @@ msgstr "" #: /tmp/fish/implicit/share/completions/ifconfig.fish:1 msgid "Stop interface" -msgstr "" +msgstr "Arrêter l’interface" #: /tmp/fish/implicit/share/completions/ifconfig.fish:2 msgid "Start interface" -msgstr "" +msgstr "Démarrer l’interface" #: /tmp/fish/implicit/share/completions/ifconfig.fish:3 #: /tmp/fish/implicit/share/completions/ifdown.fish:1 #: /tmp/fish/implicit/share/completions/ifup.fish:1 msgid "Network interface" -msgstr "" +msgstr "Interface réseau" #: /tmp/fish/implicit/share/completions/ifdata.fish:1 msgid "Reports interface existence via return code" msgstr "" +"Utiliser le code de retour pour répondre de l’existence d’une interface" #: /tmp/fish/implicit/share/completions/ifdata.fish:2 -#, fuzzy msgid "Print out the whole config of iface" -msgstr "Recharger la configuration du service" +msgstr "Afficher la configuration intégrale de l’interface" #: /tmp/fish/implicit/share/completions/ifdata.fish:3 msgid "Print out yes or no according to existence" -msgstr "" +msgstr "Répondre de l’existence par oui ou par non" #: /tmp/fish/implicit/share/completions/ifdata.fish:4 #, fuzzy msgid "Print out the address" -msgstr "Afficher les dépendances importantes" +msgstr "Afficher l’adresse" #: /tmp/fish/implicit/share/completions/ifdata.fish:5 -#, fuzzy msgid "Print netmask" -msgstr "Liste des arguments du processus" +msgstr "Afficher le masque réseau" #: /tmp/fish/implicit/share/completions/ifdata.fish:6 #, fuzzy msgid "Print network address" -msgstr "Gérer les variables d'environnement" +msgstr "Afficher l’adresse réseau" #: /tmp/fish/implicit/share/completions/ifdata.fish:7 -#, fuzzy msgid "Print broadcast" -msgstr "Afficher les fiches complètes" +msgstr "Afficher l’adresse de diffusion" #: /tmp/fish/implicit/share/completions/ifdata.fish:8 -#, fuzzy msgid "Print mtu" -msgstr "Liste des arguments du processus" +msgstr "Afficher la taille maximale de paquet (MTU)" #: /tmp/fish/implicit/share/completions/ifdata.fish:9 -#, fuzzy msgid "Print out the hardware address" -msgstr "Utiliser l'adresse matérielle" +msgstr "Afficher l’adresse matérielle (MAC)" #: /tmp/fish/implicit/share/completions/ifdata.fish:10 -#, fuzzy msgid "Print flags" -msgstr "Liste des arguments du processus" +msgstr "Afficher les drapeaux" #: /tmp/fish/implicit/share/completions/ifdata.fish:11 -#, fuzzy msgid "Print all statistics on input" -msgstr "Écrire les meilleurs serveurs dans un fichier" +msgstr "Afficher toutes les statistiques des entrées" #: /tmp/fish/implicit/share/completions/ifdata.fish:12 -#, fuzzy msgid "Print # of in packets" -msgstr "Afficher tous les noms" +msgstr "Afficher le nombre de paquets en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:13 -#, fuzzy msgid "Print # of in bytes" -msgstr "Afficher les fiches complètes" +msgstr "Afficher le nombre d’octets en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:14 -#, fuzzy msgid "Print # of in errors" -msgstr "Afficher les fiches complètes" +msgstr "Afficher le nombre d’erreurs en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:15 -#, fuzzy msgid "Print # of in drops" -msgstr "Afficher les informations APM" +msgstr "Afficher le nombre de paquets ignorés en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:16 msgid "Print # of in fifo overruns" -msgstr "" +msgstr "Afficher le nombre de dépassements de file en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:17 -#, fuzzy msgid "Print # of in compress" -msgstr "Afficher les ratios de compression" +msgstr "" #: /tmp/fish/implicit/share/completions/ifdata.fish:18 msgid "Print # of in multicast" -msgstr "" +msgstr "Afficher le nombre de paquets multidiffusés en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:19 msgid "Print all statistics on output" -msgstr "" +msgstr "Afficher toutes les statistiques des sorties" #: /tmp/fish/implicit/share/completions/ifdata.fish:20 -#, fuzzy msgid "Print # of out packets" -msgstr "Version du paquet source" +msgstr "Afficher le nombre de paquets en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:21 -#, fuzzy msgid "Print # of out bytes" -msgstr "Envoyer les fichiers vers le tube stdout" +msgstr "Afficher le nombre d’octets en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:22 -#, fuzzy msgid "Print # of out errors" -msgstr "Afficher les fiches complètes" +msgstr "Afficher le nombre d’erreurs en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:23 -#, fuzzy msgid "Print # of out drops" -msgstr "Afficher les fiches complètes" +msgstr "Afficher le nombre de paquets ignorés en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:24 msgid "Print # of out fifo overruns" -msgstr "" +msgstr "Afficher le nombre de dépassements de file en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:25 -#, fuzzy msgid "Print # of out collisions" -msgstr "Afficher toutes les versions" +msgstr "Afficher le nombre de collisions de paquets en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:26 msgid "Print # of out carrier loss" -msgstr "" +msgstr "Afficher le nombre de pertes de porteuse en sortie" #: /tmp/fish/implicit/share/completions/ifdata.fish:27 msgid "Print # of out multicast" -msgstr "" +msgstr "Afficher le nombre de paquets multidiffusés en entrée" #: /tmp/fish/implicit/share/completions/ifdata.fish:28 msgid "Print # of incoming bytes per second" -msgstr "" +msgstr "Afficher le débit en entrée en octets par seconde" #: /tmp/fish/implicit/share/completions/ifdata.fish:29 msgid "Print # of outgoing bytes per second" -msgstr "" +msgstr "Afficher le débit en sortie en octets par seconde" #: /tmp/fish/implicit/share/completions/import.fish:2 #, fuzzy @@ -31440,80 +31474,72 @@ msgid "Print the status of the service" msgstr "Redémarrer le service" #: /tmp/fish/implicit/share/completions/ip.fish:1 -#, fuzzy msgid "Read commands from file or stdin" -msgstr "Exécuter la commande si la précédente a échoué" +msgstr "Lire les commandes depuis un fichier ou l’entrée standard" #: /tmp/fish/implicit/share/completions/ip.fish:2 msgid "Don't terminate on errors in batch mode" -msgstr "" +msgstr "Ne pas terminer en cas d’erreur durant un traitement par lot" #: /tmp/fish/implicit/share/completions/ip.fish:3 -#, fuzzy msgid "Print the version" -msgstr "Afficher la version des paquets" +msgstr "Afficher la version" #: /tmp/fish/implicit/share/completions/ip.fish:4 -#, fuzzy msgid "Output more information" -msgstr "Obtention des informations utilisateur impossible." +msgstr "Afficher plus d’informations" #: /tmp/fish/implicit/share/completions/ip.fish:5 -#, fuzzy msgid "Output more detailed information" -msgstr "Afficher l'aide pour la commande" +msgstr "Afficher des informations plus détaillées" #: /tmp/fish/implicit/share/completions/ip.fish:6 -#, fuzzy msgid "Specify maximum number of loops for 'ip addr flush'" -msgstr "Liste des paquets à installer" +msgstr "Spécifier le nombre maximum d’itérations pour « ip addr flush »" #: /tmp/fish/implicit/share/completions/ip.fish:7 msgid "The protocol family to use" -msgstr "" +msgstr "La famille de protocoles à utiliser" #: /tmp/fish/implicit/share/completions/ip.fish:8 msgid "Short for --family inet" -msgstr "" +msgstr "Raccourci pour « --family inet »" #: /tmp/fish/implicit/share/completions/ip.fish:9 msgid "Short for --family inet6" -msgstr "" +msgstr "Raccourci pour « --family inet6 »" #: /tmp/fish/implicit/share/completions/ip.fish:10 msgid "Short for --family bridge" -msgstr "" +msgstr "Raccourci pour « --family bridge »" #: /tmp/fish/implicit/share/completions/ip.fish:11 msgid "Short for --family decnet" -msgstr "" +msgstr "Raccourci pour « --family decnet »" #: /tmp/fish/implicit/share/completions/ip.fish:12 msgid "Short for --family ipx" -msgstr "" +msgstr "Raccourci pour « --family ipx »" #: /tmp/fish/implicit/share/completions/ip.fish:13 msgid "Short for --family link" -msgstr "" +msgstr "Raccourci pour « --family link »" #: /tmp/fish/implicit/share/completions/ip.fish:14 -#, fuzzy msgid "Output on one line" -msgstr "Plage d'octets de sortie" +msgstr "Sortie sur une seule ligne" #: /tmp/fish/implicit/share/completions/ip.fish:15 msgid "Resolve names and print them instead of addresses" -msgstr "" +msgstr "Résoudre et afficher les noms au lieu des adresses" #: /tmp/fish/implicit/share/completions/ip.fish:16 -#, fuzzy msgid "Use specified network namespace" -msgstr "Utiliser la file spécifiée" +msgstr "Utiliser l’espace de nommage réseau spécifié" #: /tmp/fish/implicit/share/completions/ip.fish:17 -#, fuzzy msgid "Execute command for all objects" -msgstr "Exécuter la commande si la précédente a échoué" +msgstr "Exécuter la commande pour tous les objets" #: /tmp/fish/implicit/share/completions/ipset.fish:1 msgid "Create a set identified with SETNAME" @@ -31572,132 +31598,127 @@ msgstr "Envoyer les fichiers vers le tube stdout" #: /tmp/fish/implicit/share/completions/iptables.fish:1 msgid "Append rules to the end of a chain" -msgstr "" +msgstr "Ajouter les règles à la fin d’une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:2 msgid "Check whether a matching rule exists in a chain" -msgstr "" +msgstr "Vérifier si une règle correspondante existe dans la chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:3 -#, fuzzy msgid "Delete rules from a chain" -msgstr "Enlever un fichier du référentiel" +msgstr "Supprimer des règles d’une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:4 #: /tmp/fish/implicit/share/completions/iptables.fish:20 -#, fuzzy msgid "Specify the target of a rule" -msgstr "Spécifier le titre du rss" +msgstr "Spécifier la cible d’une règle" #: /tmp/fish/implicit/share/completions/iptables.fish:5 -#, fuzzy msgid "Specify a match to use" -msgstr "Spécifier le type d'enregistrement" +msgstr "Spécifier une correspondance à utiliser" #: /tmp/fish/implicit/share/completions/iptables.fish:6 msgid "Insert rules in the beginning of a chain" -msgstr "" +msgstr "Insérer les règles en début de chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:7 -#, fuzzy msgid "Replace a rule in a chain" -msgstr "Fusionner les révisions" +msgstr "Remplacer une règle dans une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:8 msgid "List all rules in a chain" -msgstr "" +msgstr "Lister toutes les règles d’une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:9 -#, fuzzy msgid "Print all rules in a chain." -msgstr "Afficher toutes les versions" +msgstr "Afficher toutes les règles d’une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:10 msgid "Delete ALL rules in a chain" -msgstr "" +msgstr "Supprimer TOUTES les règles d’une chaîne" #: /tmp/fish/implicit/share/completions/iptables.fish:11 msgid "Zero the packet and byte counters in chains" -msgstr "" +msgstr "Réinitialiser les compteurs d’octets et de paquets des chaînes" #: /tmp/fish/implicit/share/completions/iptables.fish:12 -#, fuzzy msgid "Create a new user-defined chain by the given name" -msgstr "Créer un référentiel CVS s'il n'existe pas" +msgstr "Créer une nouvelle chaîne personnalisée au nom donné" #: /tmp/fish/implicit/share/completions/iptables.fish:13 msgid "Delete the optional user-defined chain specified" msgstr "" +"Supprimer la chaîne personnalisée donnée, ou toutes si rien n’est précisé" #: /tmp/fish/implicit/share/completions/iptables.fish:14 msgid "Set the policy for the chain to the given target" -msgstr "" +msgstr "Définir la politique pour la chaîne à la valeur donnée" #: /tmp/fish/implicit/share/completions/iptables.fish:15 msgid "Rename the user specified chain to the user supplied name" -msgstr "" +msgstr "Renommer la chaîne personnalisée spécifiée avec le nom donné" #: /tmp/fish/implicit/share/completions/iptables.fish:17 msgid "The protocol of the rule or of the packet to check" -msgstr "" +msgstr "Le protocole de la règle ou du paquet à vérifier" #: /tmp/fish/implicit/share/completions/iptables.fish:18 -#, fuzzy msgid "Source specification" -msgstr "Forcer une association nom/rev" +msgstr "Adresse source" #: /tmp/fish/implicit/share/completions/iptables.fish:19 -#, fuzzy msgid "Destination specification" -msgstr "%ls: Combinaison d'options invalide" +msgstr "Adresse destinatrice" #: /tmp/fish/implicit/share/completions/iptables.fish:21 msgid "Interface via which a packet was received" -msgstr "" +msgstr "Interface par laquelle le paquet a été reçu" #: /tmp/fish/implicit/share/completions/iptables.fish:22 msgid "Interface via which packet is to be sent" -msgstr "" +msgstr "Interface par laquelle le paquet sera envoyé" #: /tmp/fish/implicit/share/completions/iptables.fish:23 msgid "Rule only refers to second and further ipv4 fragments" msgstr "" +"La règle ne s’applique qu’aux fragments de paquets IPv4 fragmentés au delà " +"du premier" #: /tmp/fish/implicit/share/completions/iptables.fish:24 msgid "Initialize packet and byte counters of a rule" msgstr "" +"Initialiser les compteurs de paquets et d’octets d’une règle à des valeurs " +"arbitraires" #: /tmp/fish/implicit/share/completions/iptables.fish:25 #: /tmp/fish/implicit/share/completions/mkinitcpio.fish:18 -#, fuzzy msgid "Verbose output" -msgstr "Mode détaillé" +msgstr "Mode bavard" #: /tmp/fish/implicit/share/completions/iptables.fish:26 msgid "Wait for the xtables lock" -msgstr "" +msgstr "Attendre le verrou xtables" #: /tmp/fish/implicit/share/completions/iptables.fish:27 #: /tmp/fish/implicit/share/completions/pv.fish:11 msgid "Numeric output" -msgstr "" +msgstr "Sortie numérique, sans résolution" #: /tmp/fish/implicit/share/completions/iptables.fish:28 msgid "Expand numbers" -msgstr "" +msgstr "Ne pas arrondir les nombres" #: /tmp/fish/implicit/share/completions/iptables.fish:29 msgid "When listing rules, add line numbers" -msgstr "" +msgstr "Afficher les numéros de ligne lors du listage des règles" #: /tmp/fish/implicit/share/completions/iptables.fish:30 msgid "The table to operate on" -msgstr "" +msgstr "La table sur laquelle opérer" #: /tmp/fish/implicit/share/completions/iptables.fish:31 -#, fuzzy msgid "Use this command to load modules" -msgstr "Utiliser pour construire" +msgstr "Utiliser pour charger les modules" #: /tmp/fish/implicit/share/completions/jobs.fish:2 msgid "Show the process id of each process in the job" @@ -33183,7 +33204,7 @@ msgstr "Afficher le temps" #: /tmp/fish/implicit/share/completions/lpstat.fish:3 #, fuzzy msgid "Specifies which jobs to show" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/lpstat.fish:4 msgid "Shows the accepting state of selected printer queues" @@ -36045,7 +36066,6 @@ msgid "throw an exception anytime a deprecated function is used" msgstr "" #: /tmp/fish/implicit/share/completions/mocha.fish:43 -#, fuzzy msgid "trace function calls" msgstr "" @@ -36830,7 +36850,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/mutt.fish:18 #, fuzzy msgid "Specify which mailbox to load" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/mutt.fish:19 msgid "Specify an initialization file to read instead of ~/.muttrc" @@ -48763,7 +48783,6 @@ msgid "Flow control on" msgstr "Point de montage" #: /tmp/fish/implicit/share/completions/screen.fish:17 -#, fuzzy msgid "Flow control off" msgstr "" @@ -49622,7 +49641,7 @@ msgstr "Ne pas lancer de mise à jour" #: /tmp/fish/implicit/share/completions/string.fish:2 #, fuzzy msgid "Specify maximum number of splits" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/string.fish:3 msgid "Split right-to-left" @@ -53461,7 +53480,6 @@ msgid "Supplementary groups" msgstr "" #: /tmp/fish/implicit/share/completions/useradd.fish:5 -#, fuzzy msgid "The user's home directory will be created if it does not exist" msgstr "" @@ -54021,7 +54039,7 @@ msgstr "" #: /tmp/fish/implicit/share/completions/VBoxSDL.fish:22 #, fuzzy msgid "Specify settings password" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/completions/VBoxHeadless.fish:5 #: /tmp/fish/implicit/share/completions/VBoxSDL.fish:23 @@ -55834,7 +55852,6 @@ msgid "Connect" msgstr "" #: /tmp/fish/implicit/share/completions/wicd-cli.fish:7 -#, fuzzy msgid "List encription types" msgstr "" @@ -57167,7 +57184,6 @@ msgid "Force scrollbar to the left side" msgstr "" #: /tmp/fish/implicit/share/completions/xterm.fish:71 -#, fuzzy msgid "The shell in xterm's window will be login shell" msgstr "" @@ -58590,7 +58606,6 @@ msgid "Disable auto-refresh of the service" msgstr "" #: /tmp/fish/implicit/share/completions/zypper.fish:134 -#, fuzzy msgid "Set a descriptive name for the service" msgstr "" @@ -59849,7 +59864,7 @@ msgstr "" #: /tmp/fish/implicit/share/functions/__fish_print_abook_emails.fish:1 #, fuzzy msgid "Print email addresses (abook)" -msgstr "Spécifier l'adresse de courriel" +msgstr "Spécifier l'adresse email" #: /tmp/fish/implicit/share/functions/__fish_print_addresses.fish:1 msgid "Print a list of known network addresses" From 835a40bf5672d375a04ecb532a7f6867615273d9 Mon Sep 17 00:00:00 2001 From: Cristian Prieto Date: Thu, 5 Oct 2017 15:15:41 +1100 Subject: [PATCH 078/110] Python's pip and pipenv completions (#4448) * Add pip completion * We call native pip completion for fish if pip is installed * Add pipenv completion * We call pipenv native completion if pipenv is installed * Applied changes as requested by @floam * Changed usage of `test (command -v)` for just `command -sq` * Add completions for pip2/3 * In some systems pip is not aliased and we have pip2 and pip3 * In those cases, we just load the completions for those commands * Separate pip2/3 completions in their own file as requested by @floam --- share/completions/pip.fish | 4 ++++ share/completions/pip2.fish | 3 +++ share/completions/pip3.fish | 3 +++ share/completions/pipenv.fish | 3 +++ 4 files changed, 13 insertions(+) create mode 100644 share/completions/pip.fish create mode 100644 share/completions/pip2.fish create mode 100644 share/completions/pip3.fish create mode 100644 share/completions/pipenv.fish diff --git a/share/completions/pip.fish b/share/completions/pip.fish new file mode 100644 index 000000000..52332f599 --- /dev/null +++ b/share/completions/pip.fish @@ -0,0 +1,4 @@ +if command -sq pip + eval (pip completion --fish) +end + diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish new file mode 100644 index 000000000..a0297f081 --- /dev/null +++ b/share/completions/pip2.fish @@ -0,0 +1,3 @@ +if command -sq pip2 + eval (pip2 completion --fish) +end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish new file mode 100644 index 000000000..25b1918e3 --- /dev/null +++ b/share/completions/pip3.fish @@ -0,0 +1,3 @@ +if command -sq pip3 + eval (pip3 completion --fish) +end diff --git a/share/completions/pipenv.fish b/share/completions/pipenv.fish new file mode 100644 index 000000000..fce46933c --- /dev/null +++ b/share/completions/pipenv.fish @@ -0,0 +1,3 @@ +if command -sq pipenv + eval (pipenv --completion) +end From df6a86913ce977b6cc41ebae5395772f9ad262fc Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Wed, 4 Oct 2017 21:50:09 -0700 Subject: [PATCH 079/110] pip completions: use builtin source rather than eval function. --- share/completions/pip.fish | 2 +- share/completions/pip2.fish | 2 +- share/completions/pip3.fish | 2 +- share/completions/pipenv.fish | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/completions/pip.fish b/share/completions/pip.fish index 52332f599..381d3feaa 100644 --- a/share/completions/pip.fish +++ b/share/completions/pip.fish @@ -1,4 +1,4 @@ if command -sq pip - eval (pip completion --fish) + pip completion --fish | source end diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index a0297f081..51284c455 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,3 @@ if command -sq pip2 - eval (pip2 completion --fish) + pip2 completion --fish | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index 25b1918e3..10c525927 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -1,3 +1,3 @@ if command -sq pip3 - eval (pip3 completion --fish) + pip3 completion --fish | source end diff --git a/share/completions/pipenv.fish b/share/completions/pipenv.fish index fce46933c..83f93f3ce 100644 --- a/share/completions/pipenv.fish +++ b/share/completions/pipenv.fish @@ -1,3 +1,3 @@ if command -sq pipenv - eval (pipenv --completion) + pipenv --completion | source end From 3f9273cc324a1c798de091cff1483cf7e808bb65 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:03:24 +0200 Subject: [PATCH 080/110] Force correct names for pip2/pip3 command in completions Work around bug pypa/pip#4755 Don't expect all users to be running a version of pip2/3 that includes the fix (once it's upstreamed). Will continue to work if/when pip2/3 emit the correct output. pip is already very slow at printing the completions (see #4448) so the `sed` call overhead is neglible. --- share/completions/pip2.fish | 2 +- share/completions/pip3.fish | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 51284c455..7558d988b 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,3 @@ if command -sq pip2 - pip2 completion --fish | source + pip2 completion --fish | sed 's/-c pip/-c pip2/' | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index 10c525927..9f874bf93 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -1,3 +1,3 @@ if command -sq pip3 - pip3 completion --fish | source + pip3 completion --fish | sed 's/-c pip/-c pip3/' | source end From 0c21efea550b822c1c6a6ae0edb2f636cda1ff56 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:11:14 +0200 Subject: [PATCH 081/110] fixup! Force correct names for pip2/pip3 command in completions (cherry picked from commit af12bcb117a3cb7330aff37acadcefba7e1abd38) --- share/completions/pip2.fish | 2 +- share/completions/pip3.fish | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 7558d988b..6a4dc1c78 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,3 @@ if command -sq pip2 - pip2 completion --fish | sed 's/-c pip/-c pip2/' | source + pip2 completion --fish | sed 's/-c pip$/-c pip2/' | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index 9f874bf93..e2078c761 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -1,3 +1,3 @@ if command -sq pip3 - pip3 completion --fish | sed 's/-c pip/-c pip3/' | source + pip3 completion --fish | sed 's/-c pip$/-c pip3/' | source end From d74d3f2ca45ed6dbf6243f7f74a0681be53bf42b Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:20:55 +0200 Subject: [PATCH 082/110] Use `string replace` instead of `sed` with better regex for pip completions --- share/completions/pip2.fish | 2 +- share/completions/pip3.fish | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 6a4dc1c78..76d3a1465 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,3 @@ if command -sq pip2 - pip2 completion --fish | sed 's/-c pip$/-c pip2/' | source + pip3 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip2" | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index e2078c761..fd12cc224 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -1,3 +1,3 @@ if command -sq pip3 - pip3 completion --fish | sed 's/-c pip$/-c pip3/' | source + pip3 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip3" | source end From de45232a373f29403684d88be65465d4870d1587 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:26:56 +0200 Subject: [PATCH 083/110] Fix copy-and-paste pip3 -> pip2 typo Thanks @floam. See #4448 (cherry picked from commit 78fe53406eb89422ea1080ea2cbe005e1280d092) --- share/completions/pip2.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 76d3a1465..894e87634 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,3 @@ if command -sq pip2 - pip3 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip2" | source + pip2 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip2" | source end From 429bdce4f130d033e1cdb8cc41c40317b7146645 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:32:56 +0200 Subject: [PATCH 084/110] Document reasons for commmand name replacement in pip2/3 completions --- share/completions/pip2.fish | 4 ++++ share/completions/pip3.fish | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 894e87634..8cc6457eb 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -1,3 +1,7 @@ if command -sq pip2 + # pip[2|3] emits (or emitted) completions with the wrong command name + # See discussion at https://github.com/fish-shell/fish-shell/pull/4448 + # and pip bug at https://github.com/pypa/pip/pull/4755 + # Keep this even after pip fix is upstreamed for users not on the latest pip pip2 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip2" | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index fd12cc224..1d1da95e8 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -1,3 +1,7 @@ if command -sq pip3 + # pip[2|3] emits (or emitted) completions with the wrong command name + # See discussion at https://github.com/fish-shell/fish-shell/pull/4448 + # and pip bug at https://github.com/pypa/pip/pull/4755 + # Keep this even after pip fix is upstreamed for users not on the latest pip pip3 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip3" | source end From d4ed2ca4475f4abda31db655f6a1f3a5c85cb5f7 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 5 Oct 2017 13:40:32 +0200 Subject: [PATCH 085/110] Correct `string replace` usage in pip2/3 completions \b does not match "end of spaces" but rather "start of a-z/0-9" and so does not match the start of string '-c'. Match (and then re-insert) a literal ' ' as part of the pattern instead. (cherry picked from commit b61c4f1cbccbb0dbf771e2f3204fa57ab9caad1b) --- share/completions/pip2.fish | 2 +- share/completions/pip3.fish | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/completions/pip2.fish b/share/completions/pip2.fish index 8cc6457eb..af3ef5630 100644 --- a/share/completions/pip2.fish +++ b/share/completions/pip2.fish @@ -3,5 +3,5 @@ if command -sq pip2 # See discussion at https://github.com/fish-shell/fish-shell/pull/4448 # and pip bug at https://github.com/pypa/pip/pull/4755 # Keep this even after pip fix is upstreamed for users not on the latest pip - pip2 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip2" | source + pip2 completion --fish | string replace -r -- " -c\s+pip\b" " -c pip2" | source end diff --git a/share/completions/pip3.fish b/share/completions/pip3.fish index 1d1da95e8..1542a5528 100644 --- a/share/completions/pip3.fish +++ b/share/completions/pip3.fish @@ -3,5 +3,5 @@ if command -sq pip3 # See discussion at https://github.com/fish-shell/fish-shell/pull/4448 # and pip bug at https://github.com/pypa/pip/pull/4755 # Keep this even after pip fix is upstreamed for users not on the latest pip - pip3 completion --fish | string replace -r "\b-c\s+pip\b" -- "-c pip3" | source + pip3 completion --fish | string replace -r -- " -c\s+pip\b" " -c pip3" | source end From 04c69932e2d215ecbb5eea7c266c5e7247b48631 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sun, 8 Oct 2017 02:06:48 +0200 Subject: [PATCH 086/110] Add more `test` examples, including expression negation Closes #4383 (cherry picked from commit ff66d2f3c1f1ed1f2bfe38ede8746e694b28fcca) --- doc_src/test.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc_src/test.txt b/doc_src/test.txt index c5aa4b0fb..8fbc8caeb 100644 --- a/doc_src/test.txt +++ b/doc_src/test.txt @@ -139,6 +139,22 @@ if test $status -eq 0 end \endfish +The previous test can likewise be inverted: + +\fish +if test ! $status -eq 0 + echo "Previous command failed" +end +\endfish + +which is logically equivalent to the following: + +\fish +if test $status -ne 0 + echo "Previous command failed" +end +\endfish + \subsection test-standards Standards `test` implements a subset of the IEEE Std 1003.1-2008 (POSIX.1) standard. The following exceptions apply: From 7bacc57e4fb360f8789b44a921e2543d18d79686 Mon Sep 17 00:00:00 2001 From: Amitava Bhattacharyya Date: Tue, 10 Oct 2017 01:06:56 -0400 Subject: [PATCH 087/110] Remove extraneous reference in FAQ (#4459) "Use the fish_update_completions command.", the answer to "How do I update man page completions?", was also found at the end of the answer to "How do I get the exit status of a command?" (cherry picked from commit 48797974d322364af4fcbf67e411b02771e88d24) --- doc_src/faq.hdr | 1 - 1 file changed, 1 deletion(-) diff --git a/doc_src/faq.hdr b/doc_src/faq.hdr index 4b319e202..0a3e24b0c 100644 --- a/doc_src/faq.hdr +++ b/doc_src/faq.hdr @@ -107,7 +107,6 @@ end See the documentation for `test` and `if` for more information. -Use the `fish_update_completions` command.
    \section faq-single-env How do I set an environment variable for just one command? From f6bb384a466bec4314646886cfffd0a12c8ee2eb Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Mon, 9 Oct 2017 07:29:48 +0200 Subject: [PATCH 088/110] Update flatpak completions to work with latest flatpak Closes #4456 (cherry picked from commit 21473b20ec221d99ff6b7efe9f4e0cf834bbaedd) --- share/completions/flatpak.fish | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/completions/flatpak.fish b/share/completions/flatpak.fish index 5860c6bc3..565ab0b78 100644 --- a/share/completions/flatpak.fish +++ b/share/completions/flatpak.fish @@ -30,9 +30,9 @@ complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-i complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-sign -d 'Sign an application or runtime' complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-update-repo -d 'Update the summary file in a repository' -complete -f -c flatpak -n "__fish_seen_subcommand_from run" -a "(flatpak list --app | string trim)" -complete -f -c flatpak -n "__fish_seen_subcommand_from info uninstall" -a "(flatpak list | string trim)" -complete -f -c flatpak -n "__fish_seen_subcommand_from remote-ls remote-modify remote-delete" -a "(flatpak remote-list | string trim)" +complete -f -c flatpak -n "__fish_seen_subcommand_from run" -a "(flatpak list --app | string trim | string match -r '^\S+')" +complete -f -c flatpak -n "__fish_seen_subcommand_from info uninstall" -a "(flatpak list | string trim | string match -r '^\S+')" +complete -f -c flatpak -n "__fish_seen_subcommand_from remote-ls remote-modify remote-delete" -a "(flatpak remote-list | string trim | string match -r '^\S+')" # Note that "remote-ls" opens an internet connection, so we don't want to complete "install" # Plenty of the other stuff is too free-form to complete (e.g. remote-add). From 56abb1750b80c0a6d13e44c5eefd2bc19c9b387b Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Wed, 11 Oct 2017 06:23:02 +0200 Subject: [PATCH 089/110] Coalesce string trim and string match in flatpak completions (cherry picked from commit 1a3adf086d126649f695beb04985debe4ec78c1b) --- share/completions/flatpak.fish | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/completions/flatpak.fish b/share/completions/flatpak.fish index 565ab0b78..9f25836b7 100644 --- a/share/completions/flatpak.fish +++ b/share/completions/flatpak.fish @@ -30,9 +30,9 @@ complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-i complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-sign -d 'Sign an application or runtime' complete -f -c flatpak -n "not __fish_seen_subcommand_from $commands" -a build-update-repo -d 'Update the summary file in a repository' -complete -f -c flatpak -n "__fish_seen_subcommand_from run" -a "(flatpak list --app | string trim | string match -r '^\S+')" -complete -f -c flatpak -n "__fish_seen_subcommand_from info uninstall" -a "(flatpak list | string trim | string match -r '^\S+')" -complete -f -c flatpak -n "__fish_seen_subcommand_from remote-ls remote-modify remote-delete" -a "(flatpak remote-list | string trim | string match -r '^\S+')" +complete -f -c flatpak -n "__fish_seen_subcommand_from run" -a "(flatpak list --app | string match -r '\S+')" +complete -f -c flatpak -n "__fish_seen_subcommand_from info uninstall" -a "(flatpak list | string match -r '\S+')" +complete -f -c flatpak -n "__fish_seen_subcommand_from remote-ls remote-modify remote-delete" -a "(flatpak remote-list | string match -r '\S+')" # Note that "remote-ls" opens an internet connection, so we don't want to complete "install" # Plenty of the other stuff is too free-form to complete (e.g. remote-add). From 03366333b2507cf55182f4d29f5b081ee489eb79 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Wed, 11 Oct 2017 06:27:15 +0200 Subject: [PATCH 090/110] Include flatpak improvements in Changelog for 2.7.0b1 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3967b609..92ef826ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ - `apt` - `cd` (#4061) - `composer` (#4295) + - `flatpak` (#4456) - `git` (#4117, #4147, #4329, #4368) - `gphoto2` - `killall` (#4052) From 30a74dcf2d6d2ff4bd0edfe458089ab363020a8f Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 12 Oct 2017 12:45:10 -0500 Subject: [PATCH 091/110] Update BSDMakefile to force build of targets .DEFAULT or .DONE cannot be set as .PHONY so this hack was required. (cherry picked from commit 40a90f1b2f8053b345d0c0475c350a235949768d) --- BSDmakefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/BSDmakefile b/BSDmakefile index c85ec00fc..ce389da0c 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -7,6 +7,10 @@ JARG = -j$(.MAKE.JOBS) #by default bmake will cd into ./obj first .OBJDIR: ./ +.PHONY: FRC +$(.TARGETS): FRC + $(GMAKE) $(.TARGETS:S,.DONE,,) $(JARG) + .DONE .DEFAULT: .SILENT $(GMAKE) $(.TARGETS:S,.DONE,,) $(JARG) @@ -14,4 +18,3 @@ JARG = -j$(.MAKE.JOBS) if ! which $(GMAKE) > /dev/null; then \ echo "GNU Make is required!"; \ fi - From 0836a5b9b4d559c7fa7eb0fc23986a5e0d5e9ca6 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 12 Oct 2017 12:48:15 -0500 Subject: [PATCH 092/110] Silence directory change messages when calling gmake from BSD make These messages are automatically generated as if `-w` were specified at the gmake command line. The `--no-print-directory` option supresses these messages. (cherry picked from commit b7f1103088af5748177df63c3d2de05bbba33da5) --- BSDmakefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/BSDmakefile b/BSDmakefile index ce389da0c..1be653200 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -1,5 +1,10 @@ JARG = GMAKE = "gmake" +#When gmake is called from another make instance, -w is automatically added +#which causes extraneous messages about directory changes to be emitted. +#--no-print-directory silences these messages. +GARGS = "--no-print-directory" + .if "$(.MAKE.JOBS)" != "" JARG = -j$(.MAKE.JOBS) .endif @@ -9,10 +14,10 @@ JARG = -j$(.MAKE.JOBS) .PHONY: FRC $(.TARGETS): FRC - $(GMAKE) $(.TARGETS:S,.DONE,,) $(JARG) + $(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG) .DONE .DEFAULT: .SILENT - $(GMAKE) $(.TARGETS:S,.DONE,,) $(JARG) + $(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG) .ERROR: .SILENT if ! which $(GMAKE) > /dev/null; then \ From 99b72c09726f1475202d3312d581e4d0cedf618c Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Tue, 10 Oct 2017 23:31:27 -0700 Subject: [PATCH 093/110] Stop passing NULL for realpath()'s second param macOS 10.5 and earlier do not support the convention of returning a dynamically allocated string, plus this seems like an unnecessary malloc. Always allocate a buffer for realpath() to write into. (cherry picked from commit 05c0cb713d961c59fc55b8b718249d8d724d3c84) --- src/wutil.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/wutil.cpp b/src/wutil.cpp index 6bc71c8cb..338019555 100644 --- a/src/wutil.cpp +++ b/src/wutil.cpp @@ -350,7 +350,8 @@ wchar_t *wrealpath(const wcstring &pathname, wchar_t *resolved_path) { narrow_path.erase(narrow_path.size() - 1, 1); } - char *narrow_res = realpath(narrow_path.c_str(), NULL); + char tmpbuf[PATH_MAX]; + char *narrow_res = realpath(narrow_path.c_str(), tmpbuf); if (narrow_res) { real_path.append(narrow_res); } else { @@ -360,14 +361,15 @@ wchar_t *wrealpath(const wcstring &pathname, wchar_t *resolved_path) { // single path component and thus doesn't need conversion. real_path = narrow_path; } else { + char tmpbuff[PATH_MAX]; if (pathsep_idx == cstring::npos) { // No pathsep means a single path component relative to pwd. - narrow_res = realpath(".", NULL); - assert(narrow_res != NULL); + narrow_res = realpath(".", tmpbuff); + assert(narrow_res != NULL && "realpath unexpectedly returned null"); pathsep_idx = 0; } else { // Only call realpath() on the portion up to the last component. - narrow_res = realpath(narrow_path.substr(0, pathsep_idx).c_str(), NULL); + narrow_res = realpath(narrow_path.substr(0, pathsep_idx).c_str(), tmpbuff); if (!narrow_res) return NULL; pathsep_idx++; } @@ -377,14 +379,6 @@ wchar_t *wrealpath(const wcstring &pathname, wchar_t *resolved_path) { real_path.append(narrow_path.substr(pathsep_idx, cstring::npos)); } } -#if __APPLE__ && __DARWIN_C_LEVEL < 200809L -// OS X Snow Leopard is broken with respect to the dynamically allocated buffer returned by -// realpath(). It's not dynamically allocated so attempting to free that buffer triggers a -// malloc/free error. Thus we don't attempt the free in this case. -#else - free(narrow_res); -#endif - wcstring wreal_path = str2wcstring(real_path); if (resolved_path) { wcslcpy(resolved_path, wreal_path.c_str(), PATH_MAX); From ac79a6b0c7c5aa29fa902929f049d19b25e099ed Mon Sep 17 00:00:00 2001 From: evuez Date: Thu, 12 Oct 2017 14:59:52 +0200 Subject: [PATCH 094/110] Add --follow-tags completion for git push (#4462) (cherry picked from commit 6d350409b353e2f47afab62287acabe73511d87e) --- share/completions/git.fish | 1 + 1 file changed, 1 insertion(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 4d1d27af9..10842d9d4 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -754,6 +754,7 @@ complete -f -c git -n '__fish_git_using_command push' -l prune -d "Remove remote complete -f -c git -n '__fish_git_using_command push' -l mirror -d 'Push all refs under refs/' complete -f -c git -n '__fish_git_using_command push' -l delete -d 'Delete all listed refs from the remote repository' complete -f -c git -n '__fish_git_using_command push' -l tags -d 'Push all refs under refs/tags' +complete -f -c git -n '__fish_git_using_command push' -l follow-tags -d 'Push all usual refs plus the ones under refs/tags' complete -f -c git -n '__fish_git_using_command push' -s n -l dry-run -d 'Do everything except actually send the updates' complete -f -c git -n '__fish_git_using_command push' -l porcelain -d 'Produce machine-readable output' complete -f -c git -n '__fish_git_using_command push' -s f -l force -d 'Force update of remote refs' From 805e4b31a16d5e986087786cc2b41f41ab804a9e Mon Sep 17 00:00:00 2001 From: David Adam Date: Mon, 16 Oct 2017 12:13:30 +0800 Subject: [PATCH 095/110] only call ioctl to export new termsize if process is in the foreground Closes #4477. (cherry picked from commit 216c4b811a5a19157ce9843527ec2f96517c6699) --- src/common.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/common.cpp b/src/common.cpp index 27ca11930..abd2b2b51 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -1592,7 +1592,10 @@ static void export_new_termsize(struct winsize *new_termsize) { env_set(L"LINES", buf, ENV_GLOBAL | (lines.missing_or_empty() ? 0 : ENV_EXPORT)); #ifdef HAVE_WINSIZE - ioctl(STDOUT_FILENO, TIOCSWINSZ, new_termsize); + // Only write the new terminal size if we are in the foreground (#4477) + if (tcgetpgrp(STDOUT_FILENO) == getpgrp()) { + ioctl(STDOUT_FILENO, TIOCSWINSZ, new_termsize); + } #endif } From 7a49583f279ae1337bf00660d4304babe0cf7b1d Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Wed, 25 Oct 2017 16:34:17 -0500 Subject: [PATCH 096/110] Add instructions on appending to /etc/shells Print the command to append safely to /etc/shells with sudo and tee upon completion of `make install`. (cherry picked from commit 47993b48b65f3a22bc5e9a63177b7438b1a51568) --- Makefile.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 8462a92f5..f97ad3a4c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -635,7 +635,8 @@ install: all install-force | check-legacy-binaries @echo @if type chsh >/dev/null 2>&1; then \ echo To use fish as your login shell:; \ - grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo \ \* add the line \'$(DESTDIR)$(bindir)/fish\' to the file \'/etc/shells\'; \ + grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo -e " * add the line '$(DESTDIR)$(bindir)/fish' to the file '/etc/shells':" \ + "\n echo '$(DESTDIR)$(bindir)/fish' | sudo tee -a /etc/shells > /dev/null"; \ echo " * run '$(yellow)chsh -s $(DESTDIR)$(bindir)/fish$(sgr0)'"; \ echo; \ fi; From 62fc06d9ac1287221ac0a30f3e1f1bcac5595495 Mon Sep 17 00:00:00 2001 From: payasrelekar Date: Thu, 19 Oct 2017 18:08:34 +0530 Subject: [PATCH 097/110] Fix a typo (cherry picked from commit 3f76cccded0498811974c1018f1acfbe12962a8a) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43b89f6bd..23049bfd4 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Instructions for other distributions may be found at [fishshell.com](https://fis fish can be installed using [Cygwin](https://cygwin.com/) Setup (under the **Shells** category). -fish can be installed into Windows Services for Linux using the instructions under *Packages for +fish can be installed into Windows Subsystem for Linux using the instructions under *Packages for Linux* for the appropriate image (eg Ubuntu). ### Building from source From adcf192c25308233539666c545f0adcaea986b27 Mon Sep 17 00:00:00 2001 From: Laurent Pireyn Date: Tue, 24 Oct 2017 05:04:47 +0200 Subject: [PATCH 098/110] Fix typo in gradle completion (#4500) (cherry picked from commit 3781862346d256e245303b1530a78e2a5fcc5d0f) --- share/completions/gradle.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/completions/gradle.fish b/share/completions/gradle.fish index 6a57bb57b..e0e67480d 100644 --- a/share/completions/gradle.fish +++ b/share/completions/gradle.fish @@ -11,7 +11,7 @@ complete -c gradle -l continue -d 'Continue task execution after failure' complete -c gradle -l system-prop -s D -r -d 'Set system property of the JVM' complete -c gradle -l debug -s d -d 'Log in debug mode' complete -c gradle -l daemon -d 'Uses Gradle Daemon to run build' -complete -c gradle -l forground -d 'Uses Gradle Daemon in forground' +complete -c gradle -l foreground -d 'Uses Gradle Daemon in foreground' complete -c gradle -l gradle-user-home -s g -r -d 'Specify gradle user home directory' complete -c gradle -l gui -d 'Launch Gradle GUI' complete -c gradle -l initscript -s I -r -d 'Specify an initialization script' From dbc15f8046af2ac2b2296c43ce17f2d9a3056cf0 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 17:53:16 +0800 Subject: [PATCH 099/110] docs: move fish_history entry to correct section and reword (cherry picked from commit 7fe7582329fdae8b1e0bcaa0a3b3dd4ce5a3bc60) --- doc_src/index.hdr.in | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index b384e87a3..939a8dbb9 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -823,9 +823,17 @@ The user can change the settings of `fish` by changing the values of certain var - A large number of variable starting with the prefixes `fish_color` and `fish_pager_color.` See Variables for changing highlighting colors for more information. +- `fish_escape_delay_ms` overrides the default timeout of 300ms (default key bindings) or 10ms (vi key bindings) after seeing an escape character before giving up on matching a key binding. See the documentation for the bind builtin command. This delay facilitates using escape as a meta key. + - `fish_greeting`, the greeting message printed on startup. -- `fish_escape_delay_ms` overrides the default timeout of 300ms (default key bindings) or 10ms (vi key bindings) after seeing an escape character before giving up on matching a key binding. See the documentation for the bind builtin command. This delay facilitates using escape as a meta key. +- `fish_history`, the current history session name. If set, all subsequent commands within an + interactive fish session will be logged to a separate file identified by the value of the + variable. If unset, or set to `default`, the default session name "fish" is used. + +- `fish_user_paths`, an array of directories that are prepended to `PATH`. This can be a universal variable. + +- `umask`, the current file creation mask. The preferred way to change the umask variable is through the umask function. An attempt to set umask to an invalid value will always fail. - `BROWSER`, the user's preferred web browser. If this variable is set, fish will use the specified browser instead of the system default browser to display the fish documentation. @@ -833,12 +841,8 @@ The user can change the settings of `fish` by changing the values of certain var - `LANG`, `LC_ALL`, `LC_COLLATE`, `LC_CTYPE`, `LC_MESSAGES`, `LC_MONETARY`, `LC_NUMERIC` and `LC_TIME` set the language option for the shell and subprograms. See the section Locale variables for more information. -- `fish_user_paths`, an array of directories that are prepended to `PATH`. This can be a universal variable. - - `PATH`, an array of directories in which to search for commands -- `umask`, the current file creation mask. The preferred way to change the umask variable is through the umask function. An attempt to set umask to an invalid value will always fail. - `fish` also sends additional information to the user through the values of certain environment variables. The user cannot change the values of most of these variables. - `_`, the name of the currently running command. @@ -847,8 +851,6 @@ The user can change the settings of `fish` by changing the values of certain var - `history`, an array containing the last commands that were entered. -- `fish_history`: Name of the history session. It defaults to `fish` (which typically means the history will be saved in `~/.local/share/fish/fish_history`). This variable can be changed by the user. It does not have to be an environment variable. You can change it at will within an interactive fish session to change where subsequent commands are logged. - - `HOME`, the user's home directory. This variable can be changed by the user. - `IFS`, the internal field separator that is used for word splitting with the read builtin. Setting this to the empty string will also disable line splitting in command substitution. This variable can be changed by the user. From f9eb826d5b9f8dac6399486eda70225c8bfe8153 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 18:10:46 +0800 Subject: [PATCH 100/110] Restore previous output of status current-{filename,function} Closes #4499. Partial reversion of 30368d5526d591df44127624f5c92c6b2a43c0d3. (cherry picked from commit b34b0cf1e378ec138d55c8bb3d31da259865fbb5) --- doc_src/status.txt | 3 ++- src/builtin_status.cpp | 4 ++-- tests/status.out | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/doc_src/status.txt b/doc_src/status.txt index 45c264565..acf0cac8d 100644 --- a/doc_src/status.txt +++ b/doc_src/status.txt @@ -42,7 +42,8 @@ The following operations (sub-commands) are available: - `filename` prints the filename of the currently running script. Also `current-filename`, `-f` or `--current-filename`. -- `function` prints the name of the currently called function if able, when missing displays "N/A". Also `current-function`, `-u` or `--current-function`. +- `function` prints the name of the currently called function if able, when missing displays "Not a + function" (or equivalent translated string). Also `current-function`, `-u` or `--current-function`. - `line-number` prints the line number of the currently running script. Also `current-line-number`, `-n` or `--current-line-number`. diff --git a/src/builtin_status.cpp b/src/builtin_status.cpp index a5b5887a7..4b1bea72f 100644 --- a/src/builtin_status.cpp +++ b/src/builtin_status.cpp @@ -309,7 +309,7 @@ int builtin_status(parser_t &parser, io_streams_t &streams, wchar_t **argv) { CHECK_FOR_UNEXPECTED_STATUS_ARGS(opts.status_cmd) const wchar_t *fn = parser.current_filename(); - if (!fn) fn = _(L"stdin"); + if (!fn) fn = _(L"Standard input"); streams.out.append_format(L"%ls\n", fn); break; } @@ -317,7 +317,7 @@ int builtin_status(parser_t &parser, io_streams_t &streams, wchar_t **argv) { CHECK_FOR_UNEXPECTED_STATUS_ARGS(opts.status_cmd) const wchar_t *fn = parser.get_function_name(opts.level); - if (!fn) fn = _(L"N/A"); + if (!fn) fn = _(L"Not a function"); streams.out.append_format(L"%ls\n", fn); break; } diff --git a/tests/status.out b/tests/status.out index f8ed9c107..989264396 100644 --- a/tests/status.out +++ b/tests/status.out @@ -1,3 +1,3 @@ -N/A +Not a function test_function test_function From da2201d69aba3671952005929e8ce4c2218d79ff Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 18:26:30 +0800 Subject: [PATCH 101/110] docs: fish_history can be set to the empty string --- doc_src/index.hdr.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index 939a8dbb9..66d60c89c 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -829,7 +829,9 @@ The user can change the settings of `fish` by changing the values of certain var - `fish_history`, the current history session name. If set, all subsequent commands within an interactive fish session will be logged to a separate file identified by the value of the - variable. If unset, or set to `default`, the default session name "fish" is used. + variable. If unset, or set to `default`, the default session name "fish" is used. If set to an + empty string, history is not saved to disk (but is still available within the interactive + session). - `fish_user_paths`, an array of directories that are prepended to `PATH`. This can be a universal variable. From 007a62cab68882cb7e97231fd0348cd9d5014469 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 19:17:19 +0800 Subject: [PATCH 102/110] warning message when exiting with active jobs uses PID of first process, not PGID Work on #4303. (cherry picked from commit eb081481c64c34b3a048ad28aa9161f5f8b2bfcf) --- src/reader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reader.cpp b/src/reader.cpp index c0f519be3..1dd1ce24a 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -2197,7 +2197,7 @@ static void bg_job_warning() { job_iterator_t jobs; while (job_t *j = jobs.next()) { if (!job_is_completed(j)) { - fwprintf(stdout, L"%6d %ls\n", j->pgid, j->command_wcstr()); + fwprintf(stdout, L"%6d %ls\n", j->processes[0]->pid, j->command_wcstr()); } } fputws(L"\n", stdout); From 1f51bdbb0cd29c72cf993448847cd56a22a155be Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 19:18:42 +0800 Subject: [PATCH 103/110] Improve warning message when exiting with active jobs Work on #4303. (cherry picked from commit 848db48af5e3badf4ee26e3d209607418ea553f6) --- src/reader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reader.cpp b/src/reader.cpp index 1dd1ce24a..727764061 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -2201,8 +2201,8 @@ static void bg_job_warning() { } } fputws(L"\n", stdout); - fputws(_(L"Use `disown PID` to let them live independently from fish.\n"), stdout); fputws(_(L"A second attempt to exit will terminate them.\n"), stdout); + fputws(_(L"Use 'disown PID' to remove jobs from the list without terminating them.\n"), stdout); } /// This function is called when the main loop notices that end_loop has been set while in From 3bd2caf682eb7d5c78ce562f0827529a5ce877d1 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 20:09:45 +0800 Subject: [PATCH 104/110] Update tests to match behaviour from 848db48af5e3badf (cherry picked from commit d5e5878f6d17dd33353c3835d19204e18e3e4927) --- tests/exit.expect | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/exit.expect b/tests/exit.expect index 6c0756675..f6490d2ce 100644 --- a/tests/exit.expect +++ b/tests/exit.expect @@ -14,8 +14,8 @@ expect -re "There are still jobs active:\r PID Command\r *\\d+ sleep 111 &\r \r -Use `disown PID` to let them live independently from fish.\r -A second attempt to exit will terminate them.\r" +A second attempt to exit will terminate them.\r +Use 'disown PID' to remove jobs from the list without terminating them.\r" expect_prompt # Running anything other than `exit` should result in the same warning with @@ -29,8 +29,8 @@ expect -re "There are still jobs active:\r *\\d+ sleep 113 &\r *\\d+ sleep 111 &\r \r -Use `disown PID` to let them live independently from fish.\r -A second attempt to exit will terminate them.\r" +A second attempt to exit will terminate them.\r +Use 'disown PID' to remove jobs from the list without terminating them.\r" expect_prompt # Verify that asking to exit a second time does so. From 6a878e45e74c8ce8edaa4a1a2489c60d964e6c93 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 20:24:03 +0800 Subject: [PATCH 105/110] CHANGELOG: updates to 2.7b1 --- CHANGELOG.md | 65 +++++++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92ef826ef..1e6e93aba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,66 +1,49 @@ -# fish 2.7b1 +# fish 2.7b1 (released October 31, 2017) -## Notable fixes and improvements +## Notable improvements +- A new `cdh` (change directory using recent history) command provides a more friendly alternative to prevd/nextd and pushd/popd (#2847). - A new `argparse` command is available to allow fish script to parse arguments with the same behavior as builtin commands. This also includes the `fish_opt` helper command. (#4190). -- The `COLUMNS` and `LINES` env vars are now correctly set the first time `fish_prompt` is run (#4141). -- New `status is-breakpoint` command that is true when a prompt is displayed in response to a `breakpoint` command (#1310). - Invalid array indexes are now silently ignored (#826, #4127). -- `string escape` has a new `--style=xxx` flag where `xxx` can be `script`, `var`, or `url` (#4150). -- `string unescape` has been implemented to reverse the effects of `string escape` (#3543). -- The history file can now be specified by setting the `fish_history` variable (#102). +- Improvements to the debugging facility, including a prompt specific to the debugger (`fish_breakpoint_prompt`) and a `status is-breakpoint` subcommand (#1310). +- `string` supports new `lower` and `upper` subcommands, for altering the case of strings (#4080). The case changing is not locale-aware yet. +- `string escape` has a new `--style=xxx` flag where `xxx` can be `script`, `var`, or `url` (#4150), and can be reversed with `string unescape` (#3543). +- History can now be split into sessions with the `fish_history` variable, or not saved to disk at all (#102). - Read history is now controlled by the `fish_history` variable rather than the `--mode-name` flag (#1504). -- Implement a `cdh` (change directory using recent history) command to provide a more friendly alternative to prevd/nextd and pushd/popd (#2847). -- `command` now supports a `-a` flag to report all directories with the command. This means that `which -a $cmd` is no longer necessary (#2778). -- `--init-command`/`-C` added to the command line switches, to allow execution of commands before starting the interactive shell (#4164). +- `command` now supports an `--all` flag to report all directories with the command. `which` is no longer a runtime dependency (#2778). +- fish can run commands before starting an interactive session using the new `--init-command`/`-C` options (#4164). - `set` has a new `--show` option to show lots of information about variables (#4265). ## Other significant changes - +- The `COLUMNS` and `LINES` environment variables are now correctly set the first time `fish_prompt` is run (#4141). - `complete`'s `--no-files` option works as intended (#112). -- `pushd +1` works as documented again (#4091). -- Improved completions for `killall` (#4052), `ln` (#4090) and `zypper` (#4079). -- Implemented `string lower` and `string upper` (#4080). -- `help` can now open the tutorial. -- `echo -h` now correctly echoes `-h` (#4120). +- `echo -h` now correctly echoes `-h` in line with other shells (#4120). +- The `export` compatibility function now returns zero on success, rather than always returning 1 (#4435). - Stop converting empty elements in MANPATH to "." (#4158). The behavior being changed was introduced in fish 2.6.0. -- `count -h` and `count --help` now return one rather than produce command help output (#4189). -- Fix setting `$COLUMNS` and `$LINES` before first prompt is displayed (#4141). -- `read` failures due to too much data should define the var (#4180). -- multiple `read` commands in non-interactive scripts were broken in fish 2.6.0 (#4206). -- Fix regression involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` (#4196). -- Option completion for `apt list` now works properly (#4350). +- `count -h` and `count --help` now return 1 rather than produce command help output (#4189). +- An attempt to `read` which stops because too much data is available still defines the variables given as parameters (#4180). +- A regression in fish 2.4.0 which prevented `pushd +1` from working has been fixed (#4091). +- A regression in fish 2.6.0 where multiple `read` commands in non-interactive scripts were broken has been fixed (#4206). +- A regression in fish 2.6.0 involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` has been fixed (#4196). - Added completions for: - `as` (#4130) - `cdh` (#2847) - - `dhcpd` + - `dhcpd` (#4115) - `ezjail-admin` (#4324) - - `fab` (fabric, #4153) + - Fabric's `fab` (#4153) - `grub-file` (#4119) - `grub-install` (#4119) - `jest` (#4142) - `kdeconnect-cli` - `magneto` (#4043, #4108) - `mdadm` (#4198) + - `passwd` (#4209) + - `pip` and `pipenv` (#4448) - `s3cmd` (#4332) - `sbt` (#4347) - `snap` (#4215) - - `subl` (Sublime Text 3 editor, #4277) - -- Improved completions for: - - `apt` - - `cd` (#4061) - - `composer` (#4295) - - `flatpak` (#4456) - - `git` (#4117, #4147, #4329, #4368) - - `gphoto2` - - `killall` (#4052) - - `ln` - - `npm` (#4241) - - `ssh` (#4377) - - `tail` - - `xdg-mime` (#4333) - - `zypper` (#4325) - + - Sublime Text 3's `subl` (#4277) +- Lots of improvements to completions. +- Updated Chinese and French translations. --- From f5514543e4a8ddbec1c8db4aac0f69139d6dae13 Mon Sep 17 00:00:00 2001 From: David Adam Date: Tue, 31 Oct 2017 20:27:03 +0800 Subject: [PATCH 106/110] Bump version for 2.7b1 --- osx/Info.plist | 2 +- osx/config.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/osx/Info.plist b/osx/Info.plist index 264dbe526..ccf0c6018 100644 --- a/osx/Info.plist +++ b/osx/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.6.500 + 2.6.900 CFBundleVersion 0.1 LSApplicationCategoryType diff --git a/osx/config.h b/osx/config.h index baab3808c..92d0a5250 100644 --- a/osx/config.h +++ b/osx/config.h @@ -200,7 +200,7 @@ #define PACKAGE_NAME "fish" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "fish 2.6.0-git" +#define PACKAGE_STRING "fish 2.7b1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "fish" @@ -209,7 +209,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.6.0-git" +#define PACKAGE_VERSION "2.7b1" /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 From 8dc26ba8b992cf55ece212b9104831034435ebff Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Tue, 7 Nov 2017 21:28:09 -0800 Subject: [PATCH 107/110] Add missing builtin_argparse.cpp to fish_key_reader Fixes #4510 --- fish.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fish.xcodeproj/project.pbxproj b/fish.xcodeproj/project.pbxproj index c62ebab7f..10b8cf911 100644 --- a/fish.xcodeproj/project.pbxproj +++ b/fish.xcodeproj/project.pbxproj @@ -202,6 +202,7 @@ D012436B1CD4019700C64313 /* fallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853E13B3ACEE0099B651 /* fallback.cpp */; }; D01A2D24169B736200767098 /* man1 in Copy Files */ = {isa = PBXBuildFile; fileRef = D01A2D23169B730A00767098 /* man1 */; }; D01A2D25169B737700767098 /* man1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = D01A2D23169B730A00767098 /* man1 */; }; + D02DE6831FB2CD5E0049D8D8 /* builtin_argparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB0F034A1F156FE3001827D3 /* builtin_argparse.cpp */; }; D030FBEF1A4A382000F7ADA0 /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854A13B3ACEE0099B651 /* input.cpp */; }; D030FBF01A4A382B00F7ADA0 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853B13B3ACEE0099B651 /* event.cpp */; }; D030FBF11A4A384000F7ADA0 /* output.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855113B3ACEE0099B651 /* output.cpp */; }; @@ -1561,6 +1562,7 @@ buildActionMask = 2147483647; files = ( D001B5EE1F041CBD000838CC /* builtin.cpp in Sources */, + D02DE6831FB2CD5E0049D8D8 /* builtin_argparse.cpp in Sources */, D001B5F01F041CBD000838CC /* builtin_ulimit.cpp in Sources */, D001B5F21F041CBD000838CC /* builtin_test.cpp in Sources */, D001B5F41F041CBD000838CC /* builtin_string.cpp in Sources */, From c67d9195eb413cee57f394a7ab2f38de796f798b Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Tue, 14 Nov 2017 01:56:58 -0800 Subject: [PATCH 108/110] Fix `fish_opt --help` showing nextd manpage. --- share/functions/fish_opt.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/functions/fish_opt.fish b/share/functions/fish_opt.fish index 5121cb756..84a91bcc8 100644 --- a/share/functions/fish_opt.fish +++ b/share/functions/fish_opt.fish @@ -17,7 +17,7 @@ function fish_opt -d 'Produce an option specification suitable for use with `arg or return if set -q _flag_help - __fish_print_help nextd + __fish_print_help fish_opt return 0 end From e8f0ec0009c4ffe2a3672128d6e047a1f6af126c Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 23 Nov 2017 12:22:27 +0800 Subject: [PATCH 109/110] CHANGELOG: update for 2.7.0 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e6e93aba..25f19fc0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# fish 2.7.0 (released November 23, 2017) + +There are no major changes between 2.7b1 and 2.7.0. If you are upgrading from version 2.6.0 or before, please also review the release notes for 2.7b1 (included below). + +Xcode builds and macOS packages could not be produced with 2.7b1, but this is fixed in 2.7.0. + +-- + # fish 2.7b1 (released October 31, 2017) ## Notable improvements From f12164f7c76a786bf3fa846962f4cc2b9912335c Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 23 Nov 2017 12:23:56 +0800 Subject: [PATCH 110/110] Bump version for 2.7.0 --- osx/Info.plist | 2 +- osx/config.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/osx/Info.plist b/osx/Info.plist index ccf0c6018..31f4bd21c 100644 --- a/osx/Info.plist +++ b/osx/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.6.900 + 2.7.0 CFBundleVersion 0.1 LSApplicationCategoryType diff --git a/osx/config.h b/osx/config.h index 92d0a5250..442195855 100644 --- a/osx/config.h +++ b/osx/config.h @@ -200,7 +200,7 @@ #define PACKAGE_NAME "fish" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "fish 2.7b1" +#define PACKAGE_STRING "fish 2.7.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "fish" @@ -209,7 +209,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.7b1" +#define PACKAGE_VERSION "2.7.0" /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4