Class: RubyLsp::RailsIcons::Completion
- Inherits:
-
Object
- Object
- RubyLsp::RailsIcons::Completion
- Includes:
- RubyLsp::Requests::Support::Common
- Defined in:
- lib/ruby_lsp/rails_icons/addon.rb
Instance Method Summary collapse
-
#initialize(response_builder, node, icons, dispatcher) ⇒ Completion
constructor
A new instance of Completion.
- #on_call_node_enter(node) ⇒ Object
Constructor Details
#initialize(response_builder, node, icons, dispatcher) ⇒ Completion
Returns a new instance of Completion.
58 59 60 61 62 63 64 |
# File 'lib/ruby_lsp/rails_icons/addon.rb', line 58 def initialize(response_builder, node, icons, dispatcher) @response_builder = response_builder @node = node @icons = icons dispatcher.register(self, :on_call_node_enter) end |
Instance Method Details
#on_call_node_enter(node) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ruby_lsp/rails_icons/addon.rb', line 66 def on_call_node_enter(node) return unless node.name == :icon prefix = extract_prefix(node) @icons.each do |icon| next unless icon.start_with?(prefix) @response_builder << Interface::CompletionItem.new( label: icon, kind: Constant::CompletionItemKind::VALUE, text_edit: Interface::TextEdit.new( range: first_argument_range(node), new_text: icon ) ) end end |