enum LSProtocol::SymbolKind
Overview
A symbol kind.
Defined in:
lsprotocol/types.crEnum Members
-
File =
1_u32
-
Module =
2_u32
-
Namespace =
3_u32
-
Package =
4_u32
-
Class =
5_u32
-
Method =
6_u32
-
Property =
7_u32
-
Field =
8_u32
-
Constructor =
9_u32
-
Enum =
10_u32
-
Interface =
11_u32
-
Function =
12_u32
-
Variable =
13_u32
-
Constant =
14_u32
-
String =
15_u32
-
Number =
16_u32
-
Boolean =
17_u32
-
Array =
18_u32
-
Object =
19_u32
-
Key =
20_u32
-
Null =
21_u32
-
EnumMember =
22_u32
-
Struct =
23_u32
-
Event =
24_u32
-
Operator =
25_u32
-
TypeParameter =
26_u32
Constructors
Instance Method Summary
- #array?
- #boolean?
- #class?
- #constant?
- #constructor?
- #enum?
- #enum_member?
- #event?
- #field?
- #file?
- #function?
- #interface?
- #key?
- #method?
- #module?
- #namespace?
- #null?
- #number?
- #object?
- #operator?
- #package?
- #property?
- #string?
- #struct?
-
#to_json(json : JSON::Builder)
Serializes this enum member by name.
- #type_parameter?
- #variable?
Constructor Detail
Instance Method Detail
def to_json(json : 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.