在了解了monaco中有关位置Position的定义后,大家都是知道每一个Position都指向monaco中的一个行列,这对于定位是很基础的功能,如果我们要一个编辑器中单词的位置,Position就不太好描述了,因为每个单词都会有一个起始Position与一个结束Position。那么这个时候我们就可以使用Range来描述一个编辑器中一段位置。在Range中开始行列必须小于等于结束行列。
Range相关的一共有二个定义,一个是单纯描述Range属性的接口IRange和类Range。下面我们详细看一下他们的定义。
与成对的Position,Position大致相同,IRange定义了一段位置的四个基本属性,开始行,列;结束行,列。而Range除了有四个基本属性外,还具有很多方法,如Range是否为空,是否包含某个Position或Range,此外还有比较二个Range前后,等一系列基础操作。下面详细看一下。
/**
* A range in the editor. This interface is suitable for serialization.
*/
export interface IRange {