Class: Yoda::Server::CompletionProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/server/completion_provider.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session) ⇒ CompletionProvider

Returns a new instance of CompletionProvider.

Parameters:



8
9
10
# File 'lib/yoda/server/completion_provider.rb', line 8

def initialize(session)
  @session = session
end

Instance Attribute Details

#sessionObject (readonly)

Returns the value of attribute session.



5
6
7
# File 'lib/yoda/server/completion_provider.rb', line 5

def session
  @session
end

Instance Method Details

#complete(uri, position) ⇒ Object

Parameters:

  • uri (String)
  • position ({Symbol => Integer})


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

def complete(uri, position)
  source = session.file_store.get(uri)
  location = Parsing::Location.of_language_server_protocol_position(line: position[:line], character: position[:character])

  if candidates = comment_complete(source, location)
    return candidates
  end
  complete_from_cut_source(source, location)
end