Class: Yoda::Server::Providers::WorkspaceSymbol

Inherits:
Base
  • Object
show all
Includes:
ReportableProgress
Defined in:
lib/yoda/server/providers/workspace_symbol.rb

Instance Attribute Summary

Attributes inherited from Base

#notifier, #session

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ReportableProgress

#in_progress

Methods inherited from Base

#initialize, provide?, #timeout

Constructor Details

This class inherits a constructor from Yoda::Server::Providers::Base

Class Method Details

.provider_methodObject



9
10
11
# File 'lib/yoda/server/providers/workspace_symbol.rb', line 9

def self.provider_method
  :'workspace/symbol'
end

Instance Method Details

#provide(params) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/yoda/server/providers/workspace_symbol.rb', line 13

def provide(params)
  query = params[:query]

  results = in_progress(params, title: "Searching symbol") do |reporter|
    matched_items(query).each do |item|
      reporter.send_result([item])
    end
  end

  results.flatten(1)
end