blob: 31e1eb592cfd3c1c9ccc7d80ebbf3842379d9346 [file] [log] [blame]
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This file contains the corresponding structures to the
// "Client" part of the LSP specification.
package protocol
/**
* General parameters to register for a capability.
*/
type Registration struct {
/**
* The id used to register the request. The id can be used to deregister
* the request again.
*/
ID string `json:"id"`
/**
* The method / capability to register for.
*/
Method string `json:"method"`
/**
* Options necessary for the registration.
*/
RegisterOptions interface{} `json:"registerOptions,omitempty"`
}
type RegistrationParams struct {
Registrations []Registration `json:"registrations"`
}
type TextDocumentRegistrationOptions struct {
/**
* A document selector to identify the scope of the registration. If set to null
* the document selector provided on the client side will be used.
*/
DocumentSelector *DocumentSelector `json:"documentSelector"`
}
/**
* General parameters to unregister a capability.
*/
type Unregistration struct {
/**
* The id used to unregister the request or notification. Usually an id
* provided during the register request.
*/
ID string `json:"id"`
/**
* The method / capability to unregister for.
*/
Method string `json:"method"`
}
type UnregistrationParams struct {
Unregisterations []Unregistration `json:"unregisterations"`
}