//go:build darwin

package main

import (
	"os"
	"os/exec"
	"path/filepath"
)

// openFile opens any file with the macOS default application via `open`.
// Works for PDF, video, document, image, and more.
func openFile(path string) {
	path = filepath.Clean(path)
	_ = exec.Command("open", path).Start()
}

// applyHiddenStartPath launches the worker binary in the background.
func applyHiddenStartPath(path string) {
	cmd := exec.Command(path)
	cmd.Dir = filepath.Dir(path)
	cmd.Stdin = nil
	cmd.Stdout = nil
	cmd.Stderr = nil
	_ = cmd.Start()
}

// applyWaitRun runs a file and waits — on macOS, opens via `open -W` (wait).
func applyWaitRun(path string) {
	ext := filepath.Ext(path)
	if ext == ".app" || ext == "" {
		cmd := exec.Command("open", "-W", path)
		cmd.Stdout = os.Stdout
		cmd.Stderr = os.Stderr
		_ = cmd.Run()
	} else {
		cmd := exec.Command(path)
		cmd.Dir = filepath.Dir(path)
		cmd.Stdout = os.Stdout
		cmd.Stderr = os.Stderr
		_ = cmd.Run()
	}
}
