Class: LanguageServer::Protocol::Interface::TextDocumentContentChangeEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/language_server/protocol/interface/text_document_content_change_event.rb

Overview

An event describing a change to a text document. If range and rangeLength are omitted the new text is considered to be the full content of the document.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(range: nil, range_length: nil, text:) ⇒ TextDocumentContentChangeEvent

Returns a new instance of TextDocumentContentChangeEvent.



9
10
11
12
13
14
15
16
17
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 9

def initialize(range: nil, range_length: nil, text:)
  @attributes = {}

  @attributes[:range] = range if range
  @attributes[:rangeLength] = range_length if range_length
  @attributes[:text] = text

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



43
44
45
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 43

def attributes
  @attributes
end

Instance Method Details

#rangeRange

The range of the document that changed.

Returns:



23
24
25
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 23

def range
  attributes.fetch(:range)
end

#range_lengthnumber

The length of the range that got replaced.

Returns:

  • (number)


31
32
33
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 31

def range_length
  attributes.fetch(:rangeLength)
end

#textstring

The new text of the range/document.

Returns:

  • (string)


39
40
41
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 39

def text
  attributes.fetch(:text)
end

#to_hashObject



45
46
47
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 45

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



49
50
51
# File 'lib/language_server/protocol/interface/text_document_content_change_event.rb', line 49

def to_json(*args)
  to_hash.to_json(*args)
end