@jswork/ushell-module-git 1.0.69 → 1.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/modules/16-wt.sh +11 -24
- package/package.json +1 -1
package/modules/16-wt.sh
CHANGED
|
@@ -1,46 +1,33 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
|
-
#
|
|
4
|
-
#
|
|
3
|
+
# wt CLI - Git Worktree Directory Switching
|
|
4
|
+
# Shell function for true directory switching with wt binary
|
|
5
5
|
|
|
6
6
|
# Check if wt binary exists
|
|
7
7
|
if command -v wt >/dev/null 2>&1; then
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# Store the actual wt binary path to avoid recursion
|
|
10
10
|
WT_BIN=$(command -v wt)
|
|
11
11
|
|
|
12
|
-
#
|
|
13
|
-
# wt and wtt (worktree-tool) provide directory switching without conflicting with wt binary
|
|
12
|
+
# wt function for directory switching
|
|
14
13
|
wt() {
|
|
15
|
-
_wt_impl "$@"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
wtt() {
|
|
19
|
-
_wt_impl "$@"
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
_wt_impl() {
|
|
23
14
|
case "$1" in
|
|
24
15
|
switch|co)
|
|
25
|
-
# Handle switch/co commands for true directory switching
|
|
26
16
|
shift
|
|
27
|
-
local wt_cli="$WT_BIN" # Use the actual binary path
|
|
28
|
-
|
|
29
|
-
# Get the path from wt switch command
|
|
30
17
|
local path
|
|
31
|
-
path=$($
|
|
18
|
+
path=$($WT_BIN switch "$@" 2>/dev/null)
|
|
32
19
|
|
|
33
|
-
# Check if we got a valid path
|
|
20
|
+
# Check if we got a valid path
|
|
34
21
|
if [[ "$path" = /* ]] && [[ -d "$path" ]]; then
|
|
35
22
|
cd "$path" || return 1
|
|
36
23
|
echo "✅ Switched to: $path"
|
|
37
24
|
else
|
|
38
|
-
#
|
|
39
|
-
$
|
|
25
|
+
# Show errors from the binary
|
|
26
|
+
$WT_BIN switch "$@"
|
|
40
27
|
fi
|
|
41
28
|
;;
|
|
42
29
|
*)
|
|
43
|
-
# Pass all other commands to wt binary
|
|
30
|
+
# Pass all other commands to wt binary
|
|
44
31
|
"$WT_BIN" "$@"
|
|
45
32
|
;;
|
|
46
33
|
esac
|
|
@@ -48,9 +35,9 @@ if command -v wt >/dev/null 2>&1; then
|
|
|
48
35
|
|
|
49
36
|
else
|
|
50
37
|
# wt binary not found - show installation message once
|
|
51
|
-
if [[ -z "$
|
|
38
|
+
if [[ -z "$WT_SHOWN_MISSING" ]]; then
|
|
52
39
|
echo "⚠️ wt CLI not found in PATH"
|
|
53
40
|
echo "Install: go build -o wt main.go && sudo mv wt /usr/local/bin/wt"
|
|
54
|
-
export
|
|
41
|
+
export WT_SHOWN_MISSING=1
|
|
55
42
|
fi
|
|
56
43
|
fi
|