netbeans-wrapper / netbeans-wrapper.applescript
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit" -- for NSEvent

property NSEvent : a reference to current application's NSEvent
property NSAlternateKeyMask : a reference to 524288

property netBeansBinary : null

on run
    if my optionKeyIsDown() then set netBeansBinary to null
	if netBeansBinary is null then
		set nbApp to choose file ¬
		    with prompt "Please locate the file “netbeans” in your “netbeans11/bin” directory" ¬
		    default location "/Applications" of type ("public.unix-executable")
		set netBeansBinary to POSIX path of nbApp
	end if
end run

on optionKeyIsDown()
	set theFlag to NSEvent's modifierFlags() as integer
	if ((theFlag div NSAlternateKeyMask) mod 2) = 0 then
		return false
		return true
	end if
end optionKeyIsDown

on runNetBeans(commandString)
	set commandString to commandString & " >/dev/null 2>&1 &"
	do shell script commandString
end runNetBeans