(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int)
| 100 | } |
| 101 | |
| 102 | func 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 | |
| 122 | func NewTrickyCompleter(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int) *Completer { |
| 123 | sql, byteOffset := computeSQLAndByteOffset(statement, caretLine, caretOffset, true) |
no test coverage detected