function extractLineNumber(query) {
        // only match : at beginning of query for now
        // TODO: match any location of : when QuickOpen._handleItemFocus() is modified to
        // dynamic open files
        if (query.indexOf(":") !== 0) {
            return NaN;
        }

        var result = NaN;
        var regInfo = query.match(/(!?:)(\d+)/); // colon followed by a digit
        if (regInfo) {
            result = regInfo[2] - 1;
        }

        return result;
    }
Attempts to extract a line number from the query where the line number
is followed by a colon. Callers should explicitly test result with isNaN()

@param {string} query string to extract line number from
@returns {number} line number. Returns NaN to indicate no line numbeer was found