delve/vendor/github.com/inconshreveable/mousetrap
Derek Parker 4e6d69e744 all: Vendor with Godeps & GO15EXPERIMENT
Use godeps to vendor dependencies and the normal go toolchain, with
GO15VENDOREXPERIMENT=1 set to properly vendor dependencies for reproducible
builds.
2015-09-30 18:25:02 -07:00
..
LICENSE all: Vendor with Godeps & GO15EXPERIMENT 2015-09-30 18:25:02 -07:00
README.md all: Vendor with Godeps & GO15EXPERIMENT 2015-09-30 18:25:02 -07:00
trap_others.go all: Vendor with Godeps & GO15EXPERIMENT 2015-09-30 18:25:02 -07:00
trap_windows_1.4.go all: Vendor with Godeps & GO15EXPERIMENT 2015-09-30 18:25:02 -07:00
trap_windows.go all: Vendor with Godeps & GO15EXPERIMENT 2015-09-30 18:25:02 -07:00

mousetrap

mousetrap is a tiny library that answers a single question.

On a Windows machine, was the process invoked by someone double clicking on the executable file while browsing in explorer?

Motivation

Windows developers unfamiliar with command line tools will often "double-click" the executable for a tool. Because most CLI tools print the help and then exit when invoked without arguments, this is often very frustrating for those users.

mousetrap provides a way to detect these invocations so that you can provide more helpful behavior and instructions on how to run the CLI tool. To see what this looks like, both from an organizational and a technical perspective, see https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/

The interface

The library exposes a single interface:

func StartedByExplorer() (bool)