// 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"` }