enum LSProtocol::SemanticTokenTypes

Overview

A set of predefined token types. This set is not fixed an clients can specify additional token types via the corresponding client capabilities.

@since 3.16.0

Defined in:

lsprotocol/types.cr

Enum Members

Namespace = 0
Type = 1

Represents a generic type. Acts as a fallback for types which can't be mapped to a specific type like class or enum.

Class = 2
Enum = 3
Interface = 4
Struct = 5
TypeParameter = 6
Parameter = 7
Variable = 8
Property = 9
EnumMember = 10
Event = 11
Function = 12
Method = 13
Macro = 14
Keyword = 15
Modifier = 16
Comment = 17
String = 18
Number = 19
Regexp = 20
Operator = 21
Decorator = 22

@since 3.17.0

Label = 23

@since 3.18.0

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 class? #

[View source]
def comment? #

[View source]
def decorator? #

[View source]
def enum? #

[View source]
def enum_member? #

[View source]
def event? #

[View source]
def function? #

[View source]
def interface? #

[View source]
def keyword? #

[View source]
def label? #

[View source]
def macro? #

[View source]
def method? #

[View source]
def modifier? #

[View source]
def namespace? #

[View source]
def number? #

[View source]
def operator? #

[View source]
def parameter? #

[View source]
def property? #

[View source]
def regexp? #

[View source]
def string? #

[View source]
def struct? #

[View source]
def to_json(builder : 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 to_s(io : IO) : Nil #
Description copied from struct Enum

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

See also: #to_s.


[View source]
def type? #

[View source]
def type_parameter? #

[View source]
def variable? #

[View source]