class TypeProf::LSP::Message::Initialize - typeprof: Ruby Standard Library Documentation

# 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