Class: LanguageServer::Protocol::Interface::TextDocumentSyncOptions

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(open_close: nil, change: nil, will_save: nil, will_save_wait_until: nil, save: nil) ⇒ TextDocumentSyncOptions

Returns a new instance of TextDocumentSyncOptions.



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 5

def initialize(open_close: nil, change: nil, will_save: nil, will_save_wait_until: nil, save: nil)
  @attributes = {}

  @attributes[:openClose] = open_close if open_close
  @attributes[:change] = change if change
  @attributes[:willSave] = will_save if will_save
  @attributes[:willSaveWaitUntil] = will_save_wait_until if will_save_wait_until
  @attributes[:save] = save if save

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



64
65
66
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 64

def attributes
  @attributes
end

Instance Method Details

#changeTextDocumentSyncKind

Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.

Returns:

  • (TextDocumentSyncKind)


33
34
35
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 33

def change
  attributes.fetch(:change)
end

#open_closeboolean

Open and close notifications are sent to the server. If omitted open close notification should not be sent.

Returns:

  • (boolean)


22
23
24
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 22

def open_close
  attributes.fetch(:openClose)
end

#saveboolean | SaveOptions

If present save notifications are sent to the server. If omitted the notification should not be sent.

Returns:



60
61
62
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 60

def save
  attributes.fetch(:save)
end

#to_hashObject



66
67
68
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 66

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



70
71
72
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 70

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

#will_saveboolean

If present will save notifications are sent to the server. If omitted the notification should not be sent.

Returns:

  • (boolean)


42
43
44
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 42

def will_save
  attributes.fetch(:willSave)
end

#will_save_wait_untilboolean

If present will save wait until requests are sent to the server. If omitted the request should not be sent.

Returns:

  • (boolean)


51
52
53
# File 'lib/language_server/protocol/interface/text_document_sync_options.rb', line 51

def will_save_wait_until
  attributes.fetch(:willSaveWaitUntil)
end