class LanguageServer::DefinitionProvider::AdHoc

Attributes

character[R]
line[R]
project[R]
uri[R]

Public Class Methods

new(uri:, line:, character:, project:) click to toggle source
# File lib/language_server/definition_provider/ad_hoc.rb, line 4
def initialize(uri:, line:, character:, project:)
  @uri = uri
  @line = line
  @character = character
  @project = project
end

Public Instance Methods

call() click to toggle source
# File lib/language_server/definition_provider/ad_hoc.rb, line 11
def call
  project.find_definitions(uri: uri, line: line, character: character).map do |n|
    Protocol::Interface::Location.new(
      uri: "file://#{n.remote_path}",
      range: Protocol::Interface::Range.new(
        start: Protocol::Interface::Position.new(
          line: n.lines.begin,
          character: 0,
        ),
        end: Protocol::Interface::Position.new(
          line: n.lines.end,
          character: 0,
        ),
      ),
    )
  end
end