Class: Yoda::Model::CompletionItem
- Inherits:
-
Object
- Object
- Yoda::Model::CompletionItem
- Defined in:
- lib/yoda/model/completion_item.rb
Instance Attribute Summary collapse
- #description ⇒ Descriptions::Base readonly
- #kind ⇒ Symbol readonly
- #prefix ⇒ String readonly
- #range ⇒ Parsing::Range readonly
Instance Method Summary collapse
- #available_kinds ⇒ Symbol
- #edit_text ⇒ String
-
#initialize(description:, range:, kind: nil, prefix: nil) ⇒ CompletionItem
constructor
A new instance of CompletionItem.
- #language_server_kind ⇒ Object
Constructor Details
#initialize(description:, range:, kind: nil, prefix: nil) ⇒ CompletionItem
Returns a new instance of CompletionItem.
20 21 22 23 24 25 26 27 28 |
# File 'lib/yoda/model/completion_item.rb', line 20 def initialize(description:, range:, kind: nil, prefix: nil) fail ArgumentError, desctiption unless description.is_a?(Descriptions::Base) fail ArgumentError, range unless range.is_a?(Parsing::Range) fail ArgumentError, kind if !kind.nil? && !available_kinds.include?(kind) @description = description @range = range @kind = kind @prefix = prefix || '' end |
Instance Attribute Details
#description ⇒ Descriptions::Base (readonly)
5 6 7 |
# File 'lib/yoda/model/completion_item.rb', line 5 def description @description end |
#kind ⇒ Symbol (readonly)
11 12 13 |
# File 'lib/yoda/model/completion_item.rb', line 11 def kind @kind end |
#prefix ⇒ String (readonly)
14 15 16 |
# File 'lib/yoda/model/completion_item.rb', line 14 def prefix @prefix end |
#range ⇒ Parsing::Range (readonly)
8 9 10 |
# File 'lib/yoda/model/completion_item.rb', line 8 def range @range end |
Instance Method Details
#available_kinds ⇒ Symbol
36 37 38 |
# File 'lib/yoda/model/completion_item.rb', line 36 def available_kinds %i(method class module constant) end |
#edit_text ⇒ String
31 32 33 |
# File 'lib/yoda/model/completion_item.rb', line 31 def edit_text prefix + description.sort_text end |
#language_server_kind ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/yoda/model/completion_item.rb', line 40 def language_server_kind case kind when :constant LanguageServer::Protocol::Constant::CompletionItemKind::VALUE when :method LanguageServer::Protocol::Constant::CompletionItemKind::METHOD when :class LanguageServer::Protocol::Constant::CompletionItemKind::CLASS when :module LanguageServer::Protocol::Constant::CompletionItemKind::MODULE else nil end end |