enum LSP::InsertTextFormat
Defined in:
base/completion_item.crEnum Members
-
PlainText =
1
-
The primary text to be inserted is treated as a plain string.
-
Snippet =
2
-
The primary text to be inserted is treated as a snippet.
A snippet can define tab stops and placeholders with
$1
,$2
and${3:foo}
.$0
defines the final tab stop, it defaults to the end of the snippet. Placeholders with equal identifiers are linked, that is typing in one will update others too.
Constructors
Instance Method Summary
- #plain_text?
- #snippet?
-
#to_json(json : JSON::Builder)
Serializes this enum member by name.
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.