class TypeProf::LSP::Message::Initialize

Constants

METHOD

Public Instance Methods

run() click to toggle source
# File typeprof-0.30.1/lib/typeprof/lsp/messages.rb, line 57
def run
  folders = @params[:workspaceFolders].map do |folder|
    folder => { uri:, }
    @server.uri_to_path(uri)
  end

  @server.add_workspaces(folders)

  respond(
    capabilities: {
      textDocumentSync: {
        openClose: true,
        change: 2, # Incremental
      },
      hoverProvider: true,
      definitionProvider: true,
      typeDefinitionProvider: true,
      completionProvider: {
        triggerCharacters: [".", ":"],
      },
      #signatureHelpProvider: {
      #  triggerCharacters: ["(", ","],
      #},
      codeLensProvider: {
        resolveProvider: false,
      },
      renameProvider: {
        prepareProvider: false,
      },
      executeCommandProvider: {
        commands: [
          "typeprof.createPrototypeRBS",
          "typeprof.enableSignature",
          "typeprof.disableSignature",
        ],
      },
      #typeDefinitionProvider: true,
      referencesProvider: true,
    },
    serverInfo: {
      name: "typeprof",
      version: TypeProf::VERSION,
    },
  )

  log "TypeProf for IDE is started successfully"
end