Class: LanguageServer::Protocol::Interface::SignatureHelp
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::SignatureHelp
- Defined in:
- lib/language_server/protocol/interface/signature_help.rb
Overview
Signature help represents the signature of something callable. There can be multiple signature but only one active and only one active parameter.
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#active_parameter ⇒ number
The active parameter of the active signature.
-
#active_signature ⇒ number
The active signature.
-
#initialize(signatures:, active_signature: nil, active_parameter: nil) ⇒ SignatureHelp
constructor
A new instance of SignatureHelp.
-
#signatures ⇒ SignatureInformation[]
One or more signatures.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(signatures:, active_signature: nil, active_parameter: nil) ⇒ SignatureHelp
Returns a new instance of SignatureHelp.
10 11 12 13 14 15 16 17 18 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 10 def initialize(signatures:, active_signature: nil, active_parameter: nil) @attributes = {} @attributes[:signatures] = signatures @attributes[:activeSignature] = active_signature if active_signature @attributes[:activeParameter] = active_parameter if active_parameter @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
56 57 58 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 56 def attributes @attributes end |
Instance Method Details
#active_parameter ⇒ number
The active parameter of the active signature. If omitted or the value lies outside the range of ‘signatures.parameters` defaults to 0 if the active signature has parameters. If the active signature has no parameters it is ignored. In future version of the protocol this property might become mandantory to better express the active parameter if the active signature does have any.
52 53 54 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 52 def active_parameter attributes.fetch(:activeParameter) end |
#active_signature ⇒ number
The active signature. If omitted or the value lies outside the range of ‘signatures` the value defaults to zero or is ignored if `signatures.length === 0`. Whenever possible implementors should make an active decision about the active signature and shouldn’t rely on a default value. In future version of the protocol this property might become mandantory to better express this.
38 39 40 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 38 def active_signature attributes.fetch(:activeSignature) end |
#signatures ⇒ SignatureInformation[]
One or more signatures.
24 25 26 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 24 def signatures attributes.fetch(:signatures) end |
#to_hash ⇒ Object
58 59 60 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 58 def to_hash attributes end |
#to_json(*args) ⇒ Object
62 63 64 |
# File 'lib/language_server/protocol/interface/signature_help.rb', line 62 def to_json(*args) to_hash.to_json(*args) end |