Fix Windows: remove -- separator (psmux incompatible), add unknown command error

- Remove -- separator from tmux args (psmux on Windows doesn't support it)
- Unknown subcommands now show error + usage (exit 1) instead of starting TUI
- --help now always shows usage and exits (no fallthrough to TUI)
This commit is contained in:
2026-08-09 20:56:39 +02:00
parent 8546ac9bf2
commit 313dffcbbf
3 changed files with 11 additions and 9 deletions
+3 -3
View File
@@ -92,10 +92,10 @@ Example startup command (generic placeholders):
# Kill stale session first (separate command — tmux aborts on kill-session error).
tmux kill-session -t kctl
tmux new-session -d -s kctl \
-- "kctl-tui panel --context=$CTX_A --ns=$NS --team=$TEAM" \; \
"kctl-tui panel --context=$CTX_A --ns=$NS --team=$TEAM" \; \
set-option -t kctl remain-on-exit on \; \
split-window -v -t kctl:0.0 -- "k9s --context $CTX_A -n $NS" \; \
split-window -v -t kctl:0.1 -- "k9s --context $CTX_B -n $NS" \; \
split-window -v -t kctl:0.0 "k9s --context $CTX_A -n $NS" \; \
split-window -v -t kctl:0.1 "k9s --context $CTX_B -n $NS" \; \
select-layout -t kctl even-vertical \; \
select-pane -t kctl:0.0 \; \
attach -t kctl
+3 -3
View File
@@ -282,16 +282,16 @@ func (m *fullModel) startTmuxSession() tea.Cmd {
args := []string{
"new-session", "-d", "-s", "kctl",
"--", panelCmd, ";",
panelCmd, ";",
"set-option", "-t", "kctl", "remain-on-exit", "on", ";",
"split-window", "-v", "-t", "kctl:0.0", "--", k9sCmdA, ";",
"split-window", "-v", "-t", "kctl:0.0", k9sCmdA, ";",
}
if len(m.cfg.Envs) > 1 {
envB := m.cfg.Envs[1]
ctxB := m.cfg.ResolveContext(envB, m.selectedContext)
k9sCmdB := fmt.Sprintf("k9s --context %s -n %s", ctxB, m.selectedNamespace)
args = append(args,
"split-window", "-v", "-t", "kctl:0.1", "--", k9sCmdB, ";",
"split-window", "-v", "-t", "kctl:0.1", k9sCmdB, ";",
)
}
args = append(args,
+5 -3
View File
@@ -39,9 +39,7 @@ func main() {
if showHelp || len(filtered) == 0 {
printUsage()
if showHelp && len(filtered) == 0 {
return
}
return
}
if len(filtered) > 0 {
@@ -64,6 +62,10 @@ func main() {
os.Exit(1)
}
return
default:
fmt.Fprintf(os.Stderr, "unknown command: %s\n\n", filtered[0])
printUsage()
os.Exit(1)
}
}