131 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Go
		
	
	
	
// 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
 | 
						|
// "Text Synchronization" part of the LSP specification.
 | 
						|
 | 
						|
package protocol
 | 
						|
 | 
						|
type DidOpenTextDocumentParams struct {
 | 
						|
	/**
 | 
						|
	 * The document that was opened.
 | 
						|
	 */
 | 
						|
	TextDocument TextDocumentItem `json:"textDocument"`
 | 
						|
}
 | 
						|
 | 
						|
type DidChangeTextDocumentParams struct {
 | 
						|
	/**
 | 
						|
	 * The document that did change. The version number points
 | 
						|
	 * to the version after all provided content changes have
 | 
						|
	 * been applied.
 | 
						|
	 */
 | 
						|
	TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
 | 
						|
 | 
						|
	/**
 | 
						|
	 * The actual content changes. The content changes describe single state changes
 | 
						|
	 * to the document. So if there are two content changes c1 and c2 for a document
 | 
						|
	 * in state S10 then c1 move the document to S11 and c2 to S12.
 | 
						|
	 */
 | 
						|
	ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * An event describing a change to a text document. If range and rangeLength are omitted
 | 
						|
 * the new text is considered to be the full content of the document.
 | 
						|
 */
 | 
						|
type TextDocumentContentChangeEvent struct {
 | 
						|
	/**
 | 
						|
	 * The range of the document that changed.
 | 
						|
	 */
 | 
						|
	Range Range `json:"range,omitempty"`
 | 
						|
 | 
						|
	/**
 | 
						|
	 * The length of the range that got replaced.
 | 
						|
	 */
 | 
						|
	RangeLength float64 `json:"rangeLength,omitempty"`
 | 
						|
 | 
						|
	/**
 | 
						|
	 * The new text of the range/document.
 | 
						|
	 */
 | 
						|
	Text string `json:"text"`
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Describe options to be used when registering for text document change events.
 | 
						|
 */
 | 
						|
type TextDocumentChangeRegistrationOptions struct {
 | 
						|
	TextDocumentRegistrationOptions
 | 
						|
	/**
 | 
						|
	 * How documents are synced to the server. See TextDocumentSyncKind.Full
 | 
						|
	 * and TextDocumentSyncKind.Incremental.
 | 
						|
	 */
 | 
						|
	SyncKind float64 `json:"syncKind"`
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * The parameters send in a will save text document notification.
 | 
						|
 */
 | 
						|
type WillSaveTextDocumentParams struct {
 | 
						|
	/**
 | 
						|
	 * The document that will be saved.
 | 
						|
	 */
 | 
						|
	TextDocument TextDocumentIdentifier `json:"textDocument"`
 | 
						|
 | 
						|
	/**
 | 
						|
	 * The 'TextDocumentSaveReason'.
 | 
						|
	 */
 | 
						|
	Reason TextDocumentSaveReason `json:"reason"`
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Represents reasons why a text document is saved.
 | 
						|
 */
 | 
						|
type TextDocumentSaveReason float64
 | 
						|
 | 
						|
const (
 | 
						|
	/**
 | 
						|
	 * Manually triggered, e.g. by the user pressing save, by starting debugging,
 | 
						|
	 * or by an API call.
 | 
						|
	 */
 | 
						|
	Manual TextDocumentSaveReason = 1
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Automatic after a delay.
 | 
						|
	 */
 | 
						|
	AfterDelay TextDocumentSaveReason = 2
 | 
						|
 | 
						|
	/**
 | 
						|
	 * When the editor lost focus.
 | 
						|
	 */
 | 
						|
	FocusOut TextDocumentSaveReason = 3
 | 
						|
)
 | 
						|
 | 
						|
type DidSaveTextDocumentParams struct {
 | 
						|
	/**
 | 
						|
	 * The document that was saved.
 | 
						|
	 */
 | 
						|
	TextDocument TextDocumentIdentifier `json:"textDocument"`
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Optional the content when saved. Depends on the includeText value
 | 
						|
	 * when the save notification was requested.
 | 
						|
	 */
 | 
						|
	Text string `json:"text,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
type TextDocumentSaveRegistrationOptions struct {
 | 
						|
	TextDocumentRegistrationOptions
 | 
						|
	/**
 | 
						|
	 * The client is supposed to include the content on save.
 | 
						|
	 */
 | 
						|
	IncludeText bool `json:"includeText,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
type DidCloseTextDocumentParams struct {
 | 
						|
	/**
 | 
						|
	 * The document that was closed.
 | 
						|
	 */
 | 
						|
	TextDocument TextDocumentIdentifier `json:"textDocument"`
 | 
						|
}
 |