enum LSProtocol::SymbolKind

Overview

A symbol kind.

Defined in:

lsprotocol/types.cr

Enum 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

Constructor Detail

def self.from_json(pull : JSON::PullParser) : self #

[View source]
def self.new(pull : JSON::PullParser) : self #

[View source]

Instance Method Detail

def array? #

[View source]
def boolean? #

[View source]
def class? #

[View source]
def constant? #

[View source]
def constructor? #

[View source]
def enum? #

[View source]
def enum_member? #

[View source]
def event? #

[View source]
def field? #

[View source]
def file? #

[View source]
def function? #

[View source]
def interface? #

[View source]
def key? #

[View source]
def method? #

[View source]
def module? #

[View source]
def namespace? #

[View source]
def null? #

[View source]
def number? #

[View source]
def object? #

[View source]
def operator? #

[View source]
def package? #

[View source]
def property? #

[View source]
def string? #

[View source]
def struct? #

[View source]
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.


[View source]
def type_parameter? #

[View source]
def variable? #

[View source]