// Copyright 2026 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package exec // LookPath searches for an executable named file in the current path, // following the conventions of the host operating system. // If file contains a slash, it is tried directly and the default path is not consulted. // Otherwise, on success the result is an absolute path. // // LookPath returns an error satisfying [errors.Is](err, [ErrDot]) // if the resolved path is relative to the current directory. // See the package documentation for more details. // // LookPath looks for an executable named file in the // directories named by the PATH environment variable, // except as described below. // // - On Windows, the file must have an extension named by // the PATHEXT environment variable. // When PATHEXT is unset, the file must have // a ".com", ".exe", ".bat", or ".cmd" extension. // - On Plan 9, LookPath consults the path environment variable. // If file begins with "/", "#", "./", or "../", it is tried // directly and the path is not consulted. // - On Wasm, LookPath always returns an error. func LookPath(file string) (string, error) { return lookPath(file) }