enum LSProtocol::SemanticTokenTypes
Overview
A set of predefined token types. 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
-
Namespace =
0
-
Type =
1
-
Represents a generic type. Acts as a fallback for types which can't be mapped to a specific type like class or enum.
-
Class =
2
-
Enum =
3
-
Interface =
4
-
Struct =
5
-
TypeParameter =
6
-
Parameter =
7
-
Variable =
8
-
Property =
9
-
EnumMember =
10
-
Event =
11
-
Function =
12
-
Method =
13
-
Macro =
14
-
Keyword =
15
-
Modifier =
16
-
Comment =
17
-
String =
18
-
Number =
19
-
Regexp =
20
-
Operator =
21
-
Decorator =
22
-
@since 3.17.0
-
Label =
23
-
@since 3.18.0
Constructors
Instance Method Summary
- #class?
- #comment?
- #decorator?
- #enum?
- #enum_member?
- #event?
- #function?
- #interface?
- #keyword?
- #label?
- #macro?
- #method?
- #modifier?
- #namespace?
- #number?
- #operator?
- #parameter?
- #property?
- #regexp?
- #string?
- #struct?
-
#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. - #type?
- #type_parameter?
- #variable?
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.