enum LSProtocol::FailureHandlingKind

Defined in:

lsprotocol/types.cr

Enum 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

Constructor Detail

def self.from_json(pull : JSON::PullParser) : self #

[View source]
def self.new(pull : JSON::PullParser) : self #

[View source]

Instance Method Detail

def abort? #

[View source]
def text_only_transactional? #

[View source]
def to_json(builder : JSON::Builder) #
Description copied from struct Enum

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.


[View source]
def to_s(io : IO) : Nil #
Description copied from struct Enum

Appends a String representation of this enum member to the given io.

See also: #to_s.


[View source]
def transactional? #

[View source]
def undo? #

[View source]