123456789_123456789_123456789_123456789_123456789_

Class: TypeProf::LSP::Message::TextDocument::Rename

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: TypeProf::LSP::Message
Defined in: lib/typeprof/lsp/messages.rb

Overview

textDocument/prepareRename request

Constant Summary

::TypeProf::LSP::Message - Inherited

Classes, Table

Class Method Summary

Instance Method Summary

Constructor Details

This class inherits a constructor from TypeProf::LSP::Message

Instance Method Details

#run

[ GitHub ]

  
# File 'lib/typeprof/lsp/messages.rb', line 346

def run
  @params => {
    textDocument: { uri: },
    position: pos,
    newName:,
  }
  text = @server.open_texts[uri]
  unless text
    respond(nil)
    return
  end
  renames = @server.core.rename(text.path, TypeProf::CodePosition.from_lsp(pos))
  if renames
    changes = {}
    renames.each do |path, cr|
      (changes[@server.path_to_uri(path)] ||= []) << {
        range: cr.to_lsp,
        newText: newName,
      }
    end
    respond({
      changes:,
    })
  else
    respond(nil)
  end
end