enum

LSProtocol::MonikerKind

Inherits Enum / Comparable / Value / Object

The moniker kind.

@since 3.16.0

Constants

Import = 0

The moniker represent a symbol that is imported into a project

Export = 1

The moniker represents a symbol that is exported from a project

Local = 2

The moniker represents a symbol that is local to a project (e.g. a local variable of a function, a class not visible outside the project, ...)

Constructors

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

Instance methods

export?

Returns true if this enum value equals Export

Source
import?

Returns true if this enum value equals Import

Source
local?

Returns true if this enum value equals Local

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