src/Pure/PIDE/text.scala
changeset 38662 4d4553e09337
parent 38578 1ebc6b76e5ff
child 38725 3d9d5ff80f6f
equal deleted inserted replaced
38661:f1ba2ae8e58a 38662:4d4553e09337
    30     override def toString = "[" + start.toString + ":" + stop.toString + "]"
    30     override def toString = "[" + start.toString + ":" + stop.toString + "]"
    31 
    31 
    32     def map(f: Offset => Offset): Range = Range(f(start), f(stop))
    32     def map(f: Offset => Offset): Range = Range(f(start), f(stop))
    33     def +(i: Offset): Range = map(_ + i)
    33     def +(i: Offset): Range = map(_ + i)
    34     def -(i: Offset): Range = map(_ - i)
    34     def -(i: Offset): Range = map(_ - i)
       
    35 
       
    36     def is_singleton: Boolean = start == stop
       
    37 
    35     def contains(i: Offset): Boolean = start == i || start < i && i < stop
    38     def contains(i: Offset): Boolean = start == i || start < i && i < stop
    36     def contains(that: Range): Boolean = this.contains(that.start) && that.stop <= this.stop
    39     def contains(that: Range): Boolean = this.contains(that.start) && that.stop <= this.stop
    37     def overlaps(that: Range): Boolean = this.contains(that.start) || that.contains(this.start)
    40     def overlaps(that: Range): Boolean = this.contains(that.start) || that.contains(this.start)
    38     def compare(that: Range): Int = if (overlaps(that)) 0 else this.start compare that.start
    41     def compare(that: Range): Int = if (overlaps(that)) 0 else this.start compare that.start
    39 
    42