diff --git a/README.md b/README.md
index 4424053..f2f0676 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,5 @@
# TiSQLEditor
-
SQL Editor is built on [CodeMirror6](https://codemirror.net/), a modern code editor that is written in TypeScript and supports a wide range of extensions. Based on that, we provide a set of extensions to make it easy to use and easy to extend, all these features are validated in the [TiDB Cloud](https://tidbcloud.com), with countless customers all around the world. We also contribute to the CodeMirror6 project, and we are happy to share our extensions with the community.
👉🏻 [Try Full Featured Playground](https://tisqleditor-playground.netlify.app/)
@@ -16,7 +15,7 @@ https://github.com/tidbcloud/tisqleditor/assets/1284531/732b600f-5b4e-45d3-a3d2-
## Features
- Support edit multiple SQL files
-- Supply React component (Vue component wip)
+- Supply React component and Vue component
- Out of box extensions
- AI Widget to chat with AI to help write or refine SQL
@@ -26,6 +25,7 @@ https://github.com/tidbcloud/tisqleditor/assets/1284531/732b600f-5b4e-45d3-a3d2-
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [@tidbcloud/tisqleditor](./packages/core/README.md) | SQLEditorInstance with pre-configured extensions |
| [@tidbcloud/tisqleditor-react](./packages/react/README.md) | React component wrapper |
+| [@tidbcloud/tisqleditor-vue](./packages/vue/README.md) | Vue component wrapper |
| [@tidbcloud/codemirror-extension-ai-widget](./packages/extensions/ai-widget/README.md) | A widget to chat with AI to help write or refine SQL |
| [@tidbcloud/codemirror-extension-sql-parser](./packages/extensions/sql-parser/README.md) | Parse the editor content to SQL statements |
| [@tidbcloud/codemirror-extension-cur-sql](./packages/extensions/cur-sql/README.md) | Get the selected SQL statements |
@@ -69,8 +69,9 @@ export function Editor() {
```
## Documentation
-* Official site: [https://tiui.tidbcloud.com/sql-editor](https://tiui.tidbcloud.com/sql-editor)
-* Documentation: [https://tiui.tidbcloud.com/docs/sql-editor-getting-started](https://tiui.tidbcloud.com/docs/sql-editor-getting-started)
+
+- Official site: [https://tiui.tidbcloud.com/sql-editor](https://tiui.tidbcloud.com/sql-editor)
+- Documentation: [https://tiui.tidbcloud.com/docs/sql-editor-getting-started](https://tiui.tidbcloud.com/docs/sql-editor-getting-started)
## Development
diff --git a/packages/vue/README.md b/packages/vue/README.md
new file mode 100644
index 0000000..abc7e04
--- /dev/null
+++ b/packages/vue/README.md
@@ -0,0 +1,48 @@
+# @tidbcloud/tisqleditor-vue
+
+This package provides a vue component wrap for `SQLEditorInstance` from `@tidbcloud/tisqleditor`.
+
+## Installation
+
+```shell
+npm install @tidbcloud/tisqleditor-vue
+```
+
+You need to install all its peer dependencies manually as well, such as `@codemirror/view`, `@codemirror/state`.
+
+## Usage
+
+`@tidbcloud/tisqleditor-vue` supports multiple CodeMirror instances, it uses `EditorCacheProvide` to cache the instances, then you can access all the cached editor instances anywhere inside the provide. You can put the provide in a proper place.
+
+```vue
+
+
+
+
+
+
+
+```
+
+When `EditorCacheProvide` unmounts, it will clear all the cached editor instances.
+
+## API
+
+### EditorCacheProvider
+
+- `const cache=inject('editor-cache')`: get the cache
+- `cache.addEditor(editorId, instance)`: add new editor instance
+- `cache.getEditor(editorId)`: get the cached editor instance by editorId
+- `cache.deleteEditor(editorId)`: remove the editor instance from cache
+- `cache.clearEditors()`: clear all cached editor instances
+
+### SQLEditor Props
+
+- `class`: CodeMirror root container css class
+- `editorId`: editor id, used to differ multiple editor instances
+- `doc`: editor initial content
+- `sqlConfig`: config for SQL dialect, schemas, tables
+- `theme`: editor theme, `@tidbcloud/codemirror-extensions-themes` provides 2 simple themes, `bbedit` for light mode, `oneDark` for dark mode, you can choose any other themes from third-party libraries or customize it by self
+- `extraExts`: any other extra CodeMirror extensions you want to use, `@tidbcloud/tisqleditor-react` install some builtin extensions, likes `@codemirror/lang-sql`, `@tidbcloud/codemirror-extension-sql-parser`, `@tidbcloud/codemirror-extension-cur-sql`
diff --git a/packages/vue/package.json b/packages/vue/package.json
index 386abd0..504131a 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,12 +1,29 @@
{
"name": "@tidbcloud/tisqleditor-vue",
"version": "0.0.1",
+ "description": "tisqleditor vue component",
"type": "module",
+ "main": "dist/index.js",
+ "module": "dist/index.js",
+ "files": [
+ "dist/*.js",
+ "dist/*.ts",
+ "package.json",
+ "README.md",
+ "CHANGELOG.md"
+ ],
"scripts": {
- "dev": "vite",
- "build": "vue-tsc -b && vite build",
- "preview": "vite preview"
+ "build": "vue-tsc -b && vite build"
},
+ "keywords": [
+ "tidbcloud",
+ "sql",
+ "editor",
+ "codemirror",
+ "vue component"
+ ],
+ "author": "",
+ "license": "MIT",
"dependencies": {
"@tidbcloud/tisqleditor": "workspace:^"
},