Class: LanguageServer::Protocol::Interface::DocumentDiagnosticReport
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::DocumentDiagnosticReport
- Defined in:
- lib/language_server/protocol/interface/document_diagnostic_report.rb
Overview
The result of a document diagnostic pull request. A report can either be a full report containing all diagnostics for the requested document or an unchanged report indicating that nothing has changed in terms of diagnostics in comparison to the last pull request.
Instance Attribute Summary collapse
- #attributes ⇒ Object readonly
Instance Method Summary collapse
-
#initialize(related_documents: nil, kind:, result_id: nil, items:) ⇒ DocumentDiagnosticReport
constructor
A new instance of DocumentDiagnosticReport.
-
#items ⇒ Diagnostic[]
The actual items.
-
#kind ⇒ "full"
A full document diagnostic report.
-
#related_documents ⇒ DocumentUri => FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport | nil
Diagnostics of related documents.
-
#result_id ⇒ string | nil
An optional result id.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(related_documents: nil, kind:, result_id: nil, items:) ⇒ DocumentDiagnosticReport
Returns a new instance of DocumentDiagnosticReport.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 14 def initialize(related_documents: nil, kind:, result_id: nil, items:) @attributes = {} @attributes[:relatedDocuments] = if @attributes[:kind] = kind @attributes[:resultId] = result_id if result_id @attributes[:items] = items @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
65 66 67 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 65 def attributes @attributes end |
Instance Method Details
#items ⇒ Diagnostic[]
The actual items.
61 62 63 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 61 def items attributes.fetch(:items) end |
#kind ⇒ "full"
A full document diagnostic report.
43 44 45 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 43 def kind attributes.fetch(:kind) end |
#related_documents ⇒ DocumentUri => FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport | nil
Diagnostics of related documents. This information is useful in programming languages where code in a file A can generate diagnostics in a file B which A depends on. An example of such a language is C/C++ where marco definitions in a file a.cpp and result in errors in a header file b.hpp.
35 36 37 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 35 def attributes.fetch(:relatedDocuments) end |
#result_id ⇒ string | nil
An optional result id. If provided it will be sent on the next diagnostic request for the same document.
53 54 55 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 53 def result_id attributes.fetch(:resultId) end |
#to_hash ⇒ Object
67 68 69 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 67 def to_hash attributes end |
#to_json(*args) ⇒ Object
71 72 73 |
# File 'lib/language_server/protocol/interface/document_diagnostic_report.rb', line 71 def to_json(*args) to_hash.to_json(*args) end |