lib/yoda/server/definition_provider.rb in yoda-language-server-0.4.0 vs lib/yoda/server/definition_provider.rb in yoda-language-server-0.5.0

- old
+ new

@@ -1,34 +1,34 @@ module Yoda class Server class DefinitionProvider - # @type ClientInfo - attr_reader :client_info + # @type Session + attr_reader :session - # @param client_info [ClientInfo] - def initialize(client_info) - @client_info = client_info + # @param session [Session] + def initialize(session) + @session = session end # @param uri [String] # @param position [{Symbol => Integer}] # @param include_declaration [Boolean] def provide(uri, position, include_declaration = false) - source = client_info.file_store.get(uri) + source = session.file_store.get(uri) location = Parsing::Location.of_language_server_protocol_position(line: position[:line], character: position[:character]) - node_worker = Evaluation::CurrentNodeExplain.new(client_info.registry, source, location) + node_worker = Evaluation::CurrentNodeExplain.new(session.registry, source, location) references = node_worker.defined_files references.map { |(path, line, column)| create_location(path, line, column) } end # @param path [String] # @param line [Integer] # @param column [Integer] def create_location(path, line, column) location = Parsing::Location.new(row: line - 1, column: column) LSP::Interface::Location.new( - uri: client_info.uri_of_path(path), + uri: session.uri_of_path(path), range: LSP::Interface::Range.new(Parsing::Range.new(location, location).to_language_server_protocol_range), ) end end end