enum LSProtocol::FailureHandlingKind
Defined in:
lsprotocol/types.crEnum Members
-
Abort =
0
-
Applying the workspace change is simply aborted if one of the changes provided fails. All operations executed before the failing operation stay executed.
-
Transactional =
1
-
All operations are executed transactional. That means they either all succeed or no changes at all are applied to the workspace.
-
TextOnlyTransactional =
2
-
If the workspace edit contains only textual file changes they are executed transactional. If resource changes (create, rename or delete file) are part of the change the failure handling strategy is abort.
-
Undo =
3
-
The client tries to undo the operations already executed. But there is no guarantee that this is succeeding.
Constructors
Instance Method Summary
- #abort?
- #text_only_transactional?
-
#to_json(builder : JSON::Builder)
Serializes this enum member by name.
-
#to_s(io : IO) : Nil
Appends a
String
representation of this enum member to the given io. - #transactional?
- #undo?
Constructor Detail
Instance Method Detail
Serializes this enum member by name.
For non-flags enums, the serialization is a JSON string. The value is the
member name (see #to_s
) transformed with String#underscore
.
enum Stages
INITIAL
SECOND_STAGE
end
Stages::INITIAL.to_json # => %("initial")
Stages::SECOND_STAGE.to_json # => %("second_stage")
For flags enums, the serialization is a JSON array including every flagged
member individually serialized in the same way as a member of a non-flags enum.
None
is serialized as an empty array, All
as an array containing
all members.
@[Flags]
enum Sides
LEFT
RIGHT
end
Sides::LEFT.to_json # => %(["left"])
(Sides::LEFT | Sides::RIGHT).to_json # => %(["left","right"])
Sides::All.to_json # => %(["left","right"])
Sides::None.to_json # => %([])
ValueConverter.to_json
offers a different serialization strategy based on the
member value.