@tidbcloud/codemirror-extension-sql-autocomplete
A codemirror extension implements the SQL keyword and database schema autocompletion based @codemirror/autocomplete
, with a customized style.
Try it
Installation
npm install @tidbcloud/codemirror-extension-sql-autocomplete
You need to install its peer dependencies as well:
npm install @codemirror/view @codemirror/state @codemirror/autocomplete @codemirror/commands @codemirror/lang-sql
Usage
import { EditorView } from '@codemirror/view'
import { EditorState } from '@codemirror/state'
import { sql, MySQL } from '@codemirror/lang-sql'
import { sqlAutoCompletion } from '@tidbcloud/codemirror-extension-sql-autocomplete'
const editorView = new EditorView({
state: EditorState.create({
doc,
extensions: [
sql({ dialect: MySQL }),
sqlAutoCompletion({
acceptKey: 'Tab',
autocompleteItemClassName: 'autocomplete-item-test'
})
]
})
})
API
interface AutoCompletionConfig extends DefaultCompletionConfig {
acceptKey?: string
autocompleteItemClassName?: string
maxRenderedOptions?: number
renderIconMap?: Record<string, string>
}
function sqlAutoCompletion(config?: AutoCompletionConfig): Extension