Module Vscode.Range

include Interop.Js.T
type t
val t_of_js : Ojs.t -> t
val t_to_js : t -> Ojs.t
val start : t -> Position.t
val end_ : t -> Position.t
val makePositions : start:Position.t -> end_:Position.t -> t
val makeCoordinates : startLine:int -> startCharacter:int -> endLine:int -> endCharacter:int -> t
val isEmpty : t -> bool
val isSingleLine : t -> bool
val contains : t -> positionOrRange:[ `Position of Position.t | `Range of t ] -> bool
val isEqual : t -> other:t -> bool
val intersection : t -> range:t -> t option
val union : t -> other:t -> t
val with_ : t -> ?start:Position.t -> ?end_:Position.t -> unit -> t