zsh:mvln(): Revert "Create relative symlinks"
This reverts commit 226f09b046.
I don't want to have relative links all the time.
TODO: If target is a relative path, make the link relative too
TODO: Support --relative flag
This commit is contained in:
@@ -340,7 +340,7 @@ if (( $+commands[trash] )); then
|
||||
}
|
||||
fi
|
||||
|
||||
# Move one or more file(s) but keep a relative symlink to the new location.
|
||||
# Move one or more file(s) but keep a symlink to the new location.
|
||||
mvln() {
|
||||
if (( # < 2 )); then
|
||||
printf "$0: missing file operand\n"
|
||||
@@ -358,7 +358,10 @@ mvln() {
|
||||
|
||||
local file reg=0
|
||||
for file in "${@[1,-2]}"; do
|
||||
target="${@[-1]}"
|
||||
# NOTE: We need absolute paths here for executions like `$0 foo/bar .`
|
||||
# TODO: When do we want/can we use relative links? Only when file is in
|
||||
# current dir?
|
||||
target="${@[-1]:A}"
|
||||
# If the target is a directory, `file` will end up in it
|
||||
[[ ! -d ${@[-1]} ]] || target+="/$file:t"
|
||||
|
||||
@@ -368,7 +371,7 @@ mvln() {
|
||||
fi
|
||||
|
||||
# NOTE: `ln` does not like trailing slashes on the last argument
|
||||
ln -sr "$target" "${file%/}"
|
||||
ln -s "$target" "${file%/}"
|
||||
done
|
||||
|
||||
return $reg
|
||||
|
||||
Reference in New Issue
Block a user