mirror of
https://github.com/golang/go
synced 2024-11-18 23:24:39 -07:00
f1f4a3381f
This cl is the first in a set that change the configuration behaviour. This one should have no behaviour differences, but makes a lot of preparatory changes. The same options are set to the same values in the same places. The options are now stored on the Session instead of the Server The View supports options, but does not have any yet. Change-Id: Ie966cceca6878861686a1766d63bb8a78021259b Reviewed-on: https://go-review.googlesource.com/c/tools/+/193726 Run-TryBot: Ian Cottrell <iancottrell@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
78 lines
1.9 KiB
Go
78 lines
1.9 KiB
Go
// Copyright 2019 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.
|
|
|
|
package source
|
|
|
|
import "golang.org/x/tools/internal/lsp/protocol"
|
|
|
|
var (
|
|
DefaultSessionOptions = SessionOptions{
|
|
TextDocumentSyncKind: protocol.Incremental,
|
|
HoverKind: SynopsisDocumentation,
|
|
InsertTextFormat: protocol.PlainTextTextFormat,
|
|
SupportedCodeActions: map[FileKind]map[protocol.CodeActionKind]bool{
|
|
Go: {
|
|
protocol.SourceOrganizeImports: true,
|
|
protocol.QuickFix: true,
|
|
},
|
|
Mod: {},
|
|
Sum: {},
|
|
},
|
|
Completion: CompletionOptions{
|
|
Documentation: true,
|
|
},
|
|
}
|
|
DefaultViewOptions = ViewOptions{}
|
|
)
|
|
|
|
type SessionOptions struct {
|
|
Env []string
|
|
BuildFlags []string
|
|
UsePlaceholders bool
|
|
HoverKind HoverKind
|
|
SuggestedFixes bool
|
|
DisabledAnalyses map[string]struct{}
|
|
|
|
WatchFileChanges bool
|
|
InsertTextFormat protocol.InsertTextFormat
|
|
ConfigurationSupported bool
|
|
DynamicConfigurationSupported bool
|
|
DynamicWatchedFilesSupported bool
|
|
PreferredContentFormat protocol.MarkupKind
|
|
LineFoldingOnly bool
|
|
|
|
SupportedCodeActions map[FileKind]map[protocol.CodeActionKind]bool
|
|
|
|
TextDocumentSyncKind protocol.TextDocumentSyncKind
|
|
|
|
Completion CompletionOptions
|
|
}
|
|
|
|
type ViewOptions struct {
|
|
}
|
|
|
|
type CompletionOptions struct {
|
|
Deep bool
|
|
FuzzyMatching bool
|
|
Unimported bool
|
|
Documentation bool
|
|
FullDocumentation bool
|
|
}
|
|
|
|
type HoverKind int
|
|
|
|
const (
|
|
SingleLine = HoverKind(iota)
|
|
NoDocumentation
|
|
SynopsisDocumentation
|
|
FullDocumentation
|
|
|
|
// structured is an experimental setting that returns a structured hover format.
|
|
// This format separates the signature from the documentation, so that the client
|
|
// can do more manipulation of these fields.
|
|
//
|
|
// This should only be used by clients that support this behavior.
|
|
Structured
|
|
)
|