mirror of https://github.com/cirruslabs/tart.git
style: apply SwiftFormat indent to GuestDropSynthesis.swift
Pre-existing 2-space indentation drift; no semantic change. Brings the file in line with the project's mandated SwiftFormat config.
This commit is contained in:
parent
7af5d839fa
commit
3bae4c62cf
|
|
@ -54,87 +54,87 @@ enum GuestDropSynthesis {
|
||||||
/// Exit codes: 0 on success, non-zero on failure (caller treats any
|
/// Exit codes: 0 on success, non-zero on failure (caller treats any
|
||||||
/// non-zero as "fall back to the share-folder copy that's already on disk").
|
/// non-zero as "fall back to the share-folder copy that's already on disk").
|
||||||
private static let relocateAndRevealScript = #"""
|
private static let relocateAndRevealScript = #"""
|
||||||
set -e
|
set -e
|
||||||
src=$1
|
src=$1
|
||||||
norm_x=${2:-}
|
norm_x=${2:-}
|
||||||
norm_y=${3:-}
|
norm_y=${3:-}
|
||||||
if [ -z "$src" ] || [ ! -e "$src" ]; then
|
if [ -z "$src" ] || [ ! -e "$src" ]; then
|
||||||
echo "tartdrop: missing or nonexistent source: $src" >&2
|
echo "tartdrop: missing or nonexistent source: $src" >&2
|
||||||
exit 2
|
exit 2
|
||||||
|
fi
|
||||||
|
name=$(basename "$src")
|
||||||
|
src_dir=$(dirname "$src")
|
||||||
|
|
||||||
|
# Resolve destination by where the drop landed. The agent runs in the
|
||||||
|
# user's GUI session so osascript goes through TCC (Automation → Finder).
|
||||||
|
# Suppress stderr so a denied prompt or "no windows" error doesn't pollute
|
||||||
|
# the agent log; an empty result means "drop on Desktop".
|
||||||
|
# The AppleScript body is piped to `osascript -` so we don't need a shell
|
||||||
|
# heredoc (whose terminator must sit at column 0 — incompatible with
|
||||||
|
# Swift's multi-line string indentation rules).
|
||||||
|
osa_script='on run argv
|
||||||
|
set nx to (item 1 of argv) as real
|
||||||
|
set ny to (item 2 of argv) as real
|
||||||
|
tell application "Finder"
|
||||||
|
set sb to bounds of window of desktop
|
||||||
|
set sw to (item 3 of sb) - (item 1 of sb)
|
||||||
|
set sh to (item 4 of sb) - (item 2 of sb)
|
||||||
|
set dx to (nx * sw) as integer
|
||||||
|
set dy to (ny * sh) as integer
|
||||||
|
try
|
||||||
|
set wins to every Finder window
|
||||||
|
repeat with i from 1 to count of wins
|
||||||
|
set w to item i of wins
|
||||||
|
set b to bounds of w
|
||||||
|
set L to (item 1 of b) as integer
|
||||||
|
set T to (item 2 of b) as integer
|
||||||
|
set R to (item 3 of b) as integer
|
||||||
|
set Bv to (item 4 of b) as integer
|
||||||
|
if (dx >= L) and (dx <= R) and (dy >= T) and (dy <= Bv) then
|
||||||
|
return POSIX path of ((target of w) as alias)
|
||||||
|
end if
|
||||||
|
end repeat
|
||||||
|
return ""
|
||||||
|
on error
|
||||||
|
return ""
|
||||||
|
end try
|
||||||
|
end tell
|
||||||
|
end run'
|
||||||
|
|
||||||
|
dest_dir=""
|
||||||
|
if [ -n "$norm_x" ] && [ -n "$norm_y" ]; then
|
||||||
|
dest_dir=$(printf '%s' "$osa_script" \
|
||||||
|
| /usr/bin/osascript - "$norm_x" "$norm_y" 2>/dev/null || true)
|
||||||
|
dest_dir=${dest_dir%/}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Empty / nonexistent / non-writable / source's own parent → bare Desktop.
|
||||||
|
if [ -z "$dest_dir" ] || [ ! -d "$dest_dir" ] || [ ! -w "$dest_dir" ] || [ "$dest_dir" = "$src_dir" ]; then
|
||||||
|
dest_dir=$HOME/Desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pick a non-clobbering filename: "foo.txt" → "foo 2.txt", "foo 3.txt"…
|
||||||
|
final=$dest_dir/$name
|
||||||
|
if [ -e "$final" ]; then
|
||||||
|
stem=${name%.*}
|
||||||
|
ext=${name##*.}
|
||||||
|
if [ "$stem" = "$name" ]; then
|
||||||
|
i=2
|
||||||
|
while [ -e "$dest_dir/$name $i" ]; do i=$((i+1)); done
|
||||||
|
final="$dest_dir/$name $i"
|
||||||
|
else
|
||||||
|
i=2
|
||||||
|
while [ -e "$dest_dir/$stem $i.$ext" ]; do i=$((i+1)); done
|
||||||
|
final="$dest_dir/$stem $i.$ext"
|
||||||
fi
|
fi
|
||||||
name=$(basename "$src")
|
fi
|
||||||
src_dir=$(dirname "$src")
|
|
||||||
|
|
||||||
# Resolve destination by where the drop landed. The agent runs in the
|
mv -- "$src" "$final"
|
||||||
# user's GUI session so osascript goes through TCC (Automation → Finder).
|
/usr/bin/open -R "$final"
|
||||||
# Suppress stderr so a denied prompt or "no windows" error doesn't pollute
|
# Last line of stdout is the destination folder's basename so the host
|
||||||
# the agent log; an empty result means "drop on Desktop".
|
# can show "Copied to Desktop" / "Copied to Documents" in the toast.
|
||||||
# The AppleScript body is piped to `osascript -` so we don't need a shell
|
printf 'tartdrop-dest=%s\n' "$(basename "$dest_dir")"
|
||||||
# heredoc (whose terminator must sit at column 0 — incompatible with
|
"""#
|
||||||
# Swift's multi-line string indentation rules).
|
|
||||||
osa_script='on run argv
|
|
||||||
set nx to (item 1 of argv) as real
|
|
||||||
set ny to (item 2 of argv) as real
|
|
||||||
tell application "Finder"
|
|
||||||
set sb to bounds of window of desktop
|
|
||||||
set sw to (item 3 of sb) - (item 1 of sb)
|
|
||||||
set sh to (item 4 of sb) - (item 2 of sb)
|
|
||||||
set dx to (nx * sw) as integer
|
|
||||||
set dy to (ny * sh) as integer
|
|
||||||
try
|
|
||||||
set wins to every Finder window
|
|
||||||
repeat with i from 1 to count of wins
|
|
||||||
set w to item i of wins
|
|
||||||
set b to bounds of w
|
|
||||||
set L to (item 1 of b) as integer
|
|
||||||
set T to (item 2 of b) as integer
|
|
||||||
set R to (item 3 of b) as integer
|
|
||||||
set Bv to (item 4 of b) as integer
|
|
||||||
if (dx >= L) and (dx <= R) and (dy >= T) and (dy <= Bv) then
|
|
||||||
return POSIX path of ((target of w) as alias)
|
|
||||||
end if
|
|
||||||
end repeat
|
|
||||||
return ""
|
|
||||||
on error
|
|
||||||
return ""
|
|
||||||
end try
|
|
||||||
end tell
|
|
||||||
end run'
|
|
||||||
|
|
||||||
dest_dir=""
|
|
||||||
if [ -n "$norm_x" ] && [ -n "$norm_y" ]; then
|
|
||||||
dest_dir=$(printf '%s' "$osa_script" \
|
|
||||||
| /usr/bin/osascript - "$norm_x" "$norm_y" 2>/dev/null || true)
|
|
||||||
dest_dir=${dest_dir%/}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Empty / nonexistent / non-writable / source's own parent → bare Desktop.
|
|
||||||
if [ -z "$dest_dir" ] || [ ! -d "$dest_dir" ] || [ ! -w "$dest_dir" ] || [ "$dest_dir" = "$src_dir" ]; then
|
|
||||||
dest_dir=$HOME/Desktop
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Pick a non-clobbering filename: "foo.txt" → "foo 2.txt", "foo 3.txt"…
|
|
||||||
final=$dest_dir/$name
|
|
||||||
if [ -e "$final" ]; then
|
|
||||||
stem=${name%.*}
|
|
||||||
ext=${name##*.}
|
|
||||||
if [ "$stem" = "$name" ]; then
|
|
||||||
i=2
|
|
||||||
while [ -e "$dest_dir/$name $i" ]; do i=$((i+1)); done
|
|
||||||
final="$dest_dir/$name $i"
|
|
||||||
else
|
|
||||||
i=2
|
|
||||||
while [ -e "$dest_dir/$stem $i.$ext" ]; do i=$((i+1)); done
|
|
||||||
final="$dest_dir/$stem $i.$ext"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv -- "$src" "$final"
|
|
||||||
/usr/bin/open -R "$final"
|
|
||||||
# Last line of stdout is the destination folder's basename so the host
|
|
||||||
# can show "Copied to Desktop" / "Copied to Documents" in the toast.
|
|
||||||
printf 'tartdrop-dest=%s\n' "$(basename "$dest_dir")"
|
|
||||||
"""#
|
|
||||||
|
|
||||||
static func perform(
|
static func perform(
|
||||||
controlSocketURL: URL,
|
controlSocketURL: URL,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue