Module Debug_protocol.Scope

module Presentation_hint : sig ... end
type t = {
name : string;

Name of the scope such as 'Arguments', 'Locals', or 'Registers'. This string is shown in the UI as is and can be translated.

presentation_hint : Presentation_hint.t option;

An optional hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.

variables_reference : int;

The variables of this scope can be retrieved by passing the value of variablesReference to the VariablesRequest.

named_variables : int option;

The number of named variables in this scope. The client can use this optional information to present the variables in a paged UI and fetch them in chunks.

indexed_variables : int option;

The number of indexed variables in this scope. The client can use this optional information to present the variables in a paged UI and fetch them in chunks.

expensive : bool;

If true, the number of variables in this scope is large or expensive to retrieve.

source : Source.t option;

Optional source for this scope.

line : int option;

Optional start line of the range covered by this scope.

column : int option;

Optional start column of the range covered by this scope.

end_line : int option;

Optional end line of the range covered by this scope.

end_column : int option;

Optional end column of the range covered by this scope.

}

A Scope is a named container for variables. Optionally a scope can map to a source or a range within a source.

val make : name:string -> ?⁠presentation_hint:Presentation_hint.t option -> variables_reference:int -> ?⁠named_variables:int option -> ?⁠indexed_variables:int option -> expensive:bool -> ?⁠source:Source.t option -> ?⁠line:int option -> ?⁠column:int option -> ?⁠end_line:int option -> ?⁠end_column:int option -> unit -> t
val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or