MCPcopy Create free account
hub / github.com/bytebase/bytebase / NewStandardCompleter

Function NewStandardCompleter

backend/plugin/parser/mysql/completion.go:102–120  ·  view source on GitHub ↗
(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int)

Source from the content-addressed store, hash-verified

100}
101
102func NewStandardCompleter(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int) *Completer {
103 sql, byteOffset := computeSQLAndByteOffset(statement, caretLine, caretOffset, false)
104 tokens := mysqlparser.Tokenize(sql)
105 caretTokenIndex := findCaretTokenIndex(tokens, byteOffset)
106 return &Completer{
107 ctx: ctx,
108 scene: cCtx.Scene,
109 sql: sql,
110 cursorByteOffset: byteOffset,
111 tokens: tokens,
112 caretTokenIndex: caretTokenIndex,
113 instanceID: cCtx.InstanceID,
114 defaultDatabase: cCtx.DefaultDatabase,
115 getMetadata: cCtx.Metadata,
116 listDatabaseNames: cCtx.ListDatabaseNames,
117 metadataCache: make(map[string]*model.DatabaseMetadata),
118 cteCache: make(map[int][]*base.VirtualTableReference),
119 }
120}
121
122func NewTrickyCompleter(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int) *Completer {
123 sql, byteOffset := computeSQLAndByteOffset(statement, caretLine, caretOffset, true)

Callers 1

CompletionFunction · 0.70

Calls 2

computeSQLAndByteOffsetFunction · 0.70
findCaretTokenIndexFunction · 0.70

Tested by

no test coverage detected