mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-31 12:21:19 -03:00
fish_add_path: Automatically enable verbose mode for interactive use
fish_add_path can be used either interactively, in the commandline, or in config.fish. That's its greatest strength, it's a very DWIM-style command. One of the compromises that entails, however, is that it can't really be very loud about what it does. If it skips a path, it can't write a warning because it might be used in config.fish. But it *can* if it's used interactively. So we try to detect that case and enable verbose mode automatically. That means if you do ```fish fish_add_path /opt/mytool/bin/mytool ``` it may tell you "Skipping path because it is a file instead of a directory:". The check isn't perfect, it goes through status current-command and isatty, but it should be good for most cases (and be false in config.fish).
This commit is contained in:
@@ -36,6 +36,11 @@ function fish_add_path --description "Add paths to the PATH"
|
||||
set -l mode $_flag_prepend $_flag_append
|
||||
set -q mode[1]; or set mode -p
|
||||
|
||||
# Enable verbose mode if we're interactively used
|
||||
status current-command | string match -rq '^fish_add_path$'
|
||||
and isatty stdout
|
||||
and set -l _flag_verbose yes
|
||||
|
||||
# To keep the order of our arguments, go through and save the ones we want to keep.
|
||||
set -l newpaths
|
||||
set -l indexes
|
||||
|
||||
Reference in New Issue
Block a user