*/
private _getWordAt(coords: [number, number]): IWordPosition {
const bufferLine = this._buffer.get(coords[1]);
+ if (!bufferLine) {
+ return null;
+ }
+
const line = translateBufferLineToString(bufferLine, false);
// Get actual index, taking into consideration wide characters
*/
protected _selectWordAt(coords: [number, number]): void {
const wordPosition = this._getWordAt(coords);
- this._model.selectionStart = [wordPosition.start, coords[1]];
- this._model.selectionStartLength = wordPosition.length;
+ if (wordPosition) {
+ this._model.selectionStart = [wordPosition.start, coords[1]];
+ this._model.selectionStartLength = wordPosition.length;
+ }
}
/**
*/
private _selectToWordAt(coords: [number, number]): void {
const wordPosition = this._getWordAt(coords);
- this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];
+ if (wordPosition) {
+ this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];
+ }
}
/**