enum

LSProtocol::SemanticTokenModifiers

Inherits Enum / Comparable / Value / Object

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

Constants

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

from_json(pull : JSON::PullParser) : self
Source
new(pull : JSON::PullParser) : self
Source

Instance methods

abstract?

Returns true if this enum value contains Abstract

Source
async?

Returns true if this enum value contains Async

Source
declaration?

Returns true if this enum value contains Declaration

Source
default_library?

Returns true if this enum value contains DefaultLibrary

Source
definition?

Returns true if this enum value contains Definition

Source
deprecated?

Returns true if this enum value contains Deprecated

Source
documentation?

Returns true if this enum value contains Documentation

Source
modification?

Returns true if this enum value contains Modification

Source
none?
Source
readonly?

Returns true if this enum value contains Readonly

Source
static?

Returns true if this enum value contains Static

Source
to_json(builder : JSON::Builder)

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.

Source
to_s(io : IO) : Nil

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

See also: to_s.

Source