OverlapSphere giving me trouble

Isn't this how you use OverlapSphere?

var basicsInRange[] = Physics.OverlapSphere(transform.position, detectionRange);

Because the Unity debugger is asking for a semicolon at the end of my line. Why?

It's your array declaration that it does not like. try:

//Type inference (both Unity js and Unity c#)
var basicsInRange = Physics.OverlapSphere(transform.position, detectionRange);

or

//Type specification
//Unity js
var basicsInRange : Collider[] = Physics.OverlapSphere(transform.position,
                                                       detectionRange);

//Unity c#
Collider[] basicsInRange = Physics.OverlapSphere(transform.position,
                                                       detectionRange);