Module Vscode.Selection

include module type of Range with type t = private Range.t
include Interop.Js.T with type t = private Range.t
type t = private Range.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 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
val anchor : t -> Position.t
val active : t -> Position.t
val makePositions : anchor:Position.t -> active:Position.t -> t
val makeCoordinates : anchorLine:int -> anchorCharacter:int -> activeLine:int -> activeCharacter:int -> t
val isReversed : t -> bool