enum LSProtocol::SemanticTokenModifiers
Overview
A set of predefined token modifiers. This set is not fixed an clients can specify additional token types via the corresponding client capabilities.
@since 3.16.0
Defined in:
lsprotocol/types.crEnum Members
-
Declaration =
1
-
Definition =
2
-
Readonly =
4
-
Static =
8
-
Deprecated =
16
-
Abstract =
32
-
Async =
64
-
Modification =
128
-
Documentation =
256
-
DefaultLibrary =
512
-
None =
0
-
All =
1023
Constructors
Instance Method Summary
- #abstract?
- #async?
- #declaration?
- #default_library?
- #definition?
- #deprecated?
- #documentation?
- #modification?
- #none?
- #readonly?
- #static?
-
#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.
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.