class TypeProf::LSP::Message::Initialize

Constants

METHOD

Public Instance Methods

run() click to toggle source
# File typeprof-0.21.8/lib/typeprof/lsp.rb, line 416
def run
  @server.root_uri = @params[:rootUri]
  pwd = Dir.pwd
  @params[:workspaceFolders]&.each do |folder|
    folder => { uri:, }
    if pwd == URI(uri).path
      @server.root_uri = uri
    end
  end

  respond(
    capabilities: {
      textDocumentSync: {
        openClose: true,
        change: 2, # Incremental
      },
      completionProvider: {
        triggerCharacters: ["."],
      },
      signatureHelpProvider: {
        triggerCharacters: ["(", ","],
      },
      #codeActionProvider: {
      #  codeActionKinds: ["quickfix", "refactor"],
      #  resolveProvider: false,
      #},
      codeLensProvider: {
        resolveProvider: true,
      },
      executeCommandProvider: {
        commands: [
          "typeprof.createPrototypeRBS",
          "typeprof.enableSignature",
          "typeprof.disableSignature",
        ],
      },
      definitionProvider: true,
      typeDefinitionProvider: true,
      referencesProvider: true,
    },
    serverInfo: {
      name: "typeprof",
      version: "0.0.0",
    },
  )

  puts "TypeProf for IDE is started successfully"
end