mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-22 06:48:56 +08:00

Not all distros have a `realpath` command. Provide a function that uses the real command if available else use the fish builtin. Fixes #2932 (cherry picked from commit 6c329e8a839c1b5eeaf2e545b4f4084c3a8830f7)
14 lines
723 B
Fish
14 lines
723 B
Fish
# Provide a minimalist realpath implementation to help deal with platforms that may not provide it
|
|
# as a command. If a realpath command is available simply pass all arguments thru to it. If not
|
|
# fallback to alternative solutions.
|
|
|
|
# The following is slightly subtle. The first time `realpath` is invoked this script will be read.
|
|
# If we see that there is an external command by that name we just return. That will cause fish to
|
|
# run the external command. On the other hand, if an external command isn't found we define a
|
|
# function that will provide fallback behavior.
|
|
if not type -q -P realpath
|
|
function realpath --description 'fallback realpath implementation'
|
|
builtin fish_realpath $argv[-1]
|
|
end
|
|
end
|