function _getWordAt(editor, pos) {
        var cm = editor._codeMirror,
            start = pos.ch,
            end = start,
            line = cm.getLine(pos.line);
        while (start && CodeMirror.isWordChar(line.charAt(start - 1))) {
            --start;
        }
        while (end < line.length && CodeMirror.isWordChar(line.charAt(end))) {
            ++end;
        }
        return {start: {line: pos.line, ch: start}, end: {line: pos.line, ch: end}, text: line.slice(start, end)};
    }
Returns the range of the word surrounding the given editor position. Similar to getWordAt() from CodeMirror.

@param {!Editor} editor The editor to search in
@param {!{line: number, ch: number}} pos The position to find a word at.
@return {{start:{line: number, ch: number}, end:{line:number, ch:number}, text:string}} The range and content of the found word. If
    there is no word, start will equal end and the text will be the empty string.