From 4ea19384beb581f33d869cac0367ae445232dd54 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Wed, 25 Sep 2024 16:51:31 +0800 Subject: [PATCH 1/6] fix: autocomplete add vector type --- packages/extensions/sql-autocomplete/src/icons-svg.ts | 4 ++++ packages/extensions/sql-autocomplete/src/index.ts | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/extensions/sql-autocomplete/src/icons-svg.ts b/packages/extensions/sql-autocomplete/src/icons-svg.ts index 4eab3ec..ea169e0 100644 --- a/packages/extensions/sql-autocomplete/src/icons-svg.ts +++ b/packages/extensions/sql-autocomplete/src/icons-svg.ts @@ -51,3 +51,7 @@ export const Types = ` ` + +export const Vector = ` + +` diff --git a/packages/extensions/sql-autocomplete/src/index.ts b/packages/extensions/sql-autocomplete/src/index.ts index 5ee0f51..51e2ad0 100644 --- a/packages/extensions/sql-autocomplete/src/index.ts +++ b/packages/extensions/sql-autocomplete/src/index.ts @@ -19,7 +19,8 @@ import { Numberic, String, Types, - Variable + Variable, + Vector } from './icons-svg' /** @@ -315,6 +316,11 @@ const customAutoCompletion = (config: AutoCompletionConfig) => { case 'JSON': src = Brackets break + case 'VECTOR': + case 'VECTOR': + case 'VECTOR': + src = Vector + break } if ( From ee6bfd87a595183911e9395405e4987e8362d707 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Wed, 25 Sep 2024 19:53:58 +0800 Subject: [PATCH 2/6] fix: sql gutter doc typo error --- packages/extensions/cur-sql-gutter/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/extensions/cur-sql-gutter/README.md b/packages/extensions/cur-sql-gutter/README.md index e782ce4..35bb9de 100644 --- a/packages/extensions/cur-sql-gutter/README.md +++ b/packages/extensions/cur-sql-gutter/README.md @@ -16,7 +16,7 @@ npm install @tidbcloud/codemirror-extension-cur-sql-gutter You need to install its dependencies as well: ```shell -npm install @codemirror/view @codemirror/state @codemirror/lang-sql @tidbcloud/codemirror-extension-sql-parser @tidbcloud/codemirror/extension-cur-sql +npm install @codemirror/view @codemirror/state @codemirror/lang-sql @tidbcloud/codemirror-extension-sql-parser @tidbcloud/codemirror-extension-cur-sql ``` ## Usage From faec95faa8465d9cc87efbb084ba55472a32f499 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Thu, 10 Oct 2024 10:58:02 +0800 Subject: [PATCH 3/6] fix: events callback add editor state --- packages/extensions/events/src/doc-change.ts | 6 +++--- packages/extensions/events/src/selection-change.ts | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/extensions/events/src/doc-change.ts b/packages/extensions/events/src/doc-change.ts index 1a80563..7ba0176 100644 --- a/packages/extensions/events/src/doc-change.ts +++ b/packages/extensions/events/src/doc-change.ts @@ -1,14 +1,14 @@ -import { Extension } from '@codemirror/state' +import { EditorState, Extension } from '@codemirror/state' import { EditorView, ViewUpdate } from '@codemirror/view' -type DocChangeHandler = (view: EditorView, content: string) => void +type DocChangeHandler = (view: EditorView, state: EditorState, content: string) => void const docChangeListener = (handler: DocChangeHandler) => { return EditorView.updateListener.of((update: ViewUpdate) => { if (!update.docChanged) return const { state } = update.view - handler(update.view, state.doc.sliceString(0)) + handler(update.view, update.state, state.doc.sliceString(0)) }) } diff --git a/packages/extensions/events/src/selection-change.ts b/packages/extensions/events/src/selection-change.ts index fe69cc7..75c67cb 100644 --- a/packages/extensions/events/src/selection-change.ts +++ b/packages/extensions/events/src/selection-change.ts @@ -1,4 +1,4 @@ -import { Extension } from '@codemirror/state' +import { EditorState, Extension } from '@codemirror/state' import { EditorView, ViewUpdate } from '@codemirror/view' export type SelectionRange = { @@ -8,6 +8,7 @@ export type SelectionRange = { type SelectionChangeHandler = ( view: EditorView, + state: EditorState, selRanges: SelectionRange[] ) => void @@ -30,6 +31,7 @@ const selectionChangeListener = (handler: SelectionChangeHandler) => { } handler( v.view, + v.state, v.state.selection.ranges.map((r) => ({ from: r.from, to: r.to From 75e88ff2a0b761f5b3e96a23edf346d133e18247 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Thu, 10 Oct 2024 15:41:03 +0800 Subject: [PATCH 4/6] fix: playground events usage --- packages/playground/src/examples/editor-example.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/playground/src/examples/editor-example.tsx b/packages/playground/src/examples/editor-example.tsx index f300d05..3715d68 100644 --- a/packages/playground/src/examples/editor-example.tsx +++ b/packages/playground/src/examples/editor-example.tsx @@ -133,12 +133,12 @@ export function EditorExample({ } }), events: [ - onDocChange((_view, content) => { + onDocChange((_view, _state, content) => { const s = `Doc changes, current doc:\n\n${content}` console.log(s) setOutput(s) }), - onSelectionChange((view, sels) => { + onSelectionChange((view, _state, sels) => { if (sels.length === 0 || sels[0].from === sels[0].to) { return } From 89835cb809b8b4322ebe3305db7390b236242583 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Thu, 10 Oct 2024 15:52:32 +0800 Subject: [PATCH 5/6] fix: events extension readme update --- packages/extensions/events/README.md | 5 +++-- packages/extensions/events/src/test/selection-change.test.ts | 2 +- packages/playground-nextjs/components/biz/editor-example.tsx | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/extensions/events/README.md b/packages/extensions/events/README.md index c6fb68f..2efe18c 100644 --- a/packages/extensions/events/README.md +++ b/packages/extensions/events/README.md @@ -32,7 +32,7 @@ const docChangeHandler = (view: EditorView, doc: string) => { console.log(doc) } -const selectionChangeHandler = (view: EditorView, ranges: SelectionRange[]) => { +const selectionChangeHandler = (view: EditorView, state: EditorState, ranges: SelectionRange[]) => { console.log(ranges) } @@ -50,7 +50,7 @@ const editorView = new EditorView({ ## API ```ts -type DocChangeHandler = (view: EditorView, content: string) => void +type DocChangeHandler = (view: EditorView, state: EditorState, content: string) => void function onDocChange(handler: DocChangeHandler): Extension type SelectionRange = { @@ -59,6 +59,7 @@ type SelectionRange = { } type SelectionChangeHandler = ( view: EditorView, + state: EditorState, selRanges: SelectionRange[] ) => void function onSelectionChange(handler: SelectionChangeHandler): Extension diff --git a/packages/extensions/events/src/test/selection-change.test.ts b/packages/extensions/events/src/test/selection-change.test.ts index 15e7399..683d5ee 100644 --- a/packages/extensions/events/src/test/selection-change.test.ts +++ b/packages/extensions/events/src/test/selection-change.test.ts @@ -24,7 +24,7 @@ describe('test selection change event', () => { state: EditorState.create({ doc: '', extensions: [ - onSelectionChange((_view, ranges) => { + onSelectionChange((_view, _state, ranges) => { selRanges = ranges }) ] diff --git a/packages/playground-nextjs/components/biz/editor-example.tsx b/packages/playground-nextjs/components/biz/editor-example.tsx index 5e3c4a0..9471738 100644 --- a/packages/playground-nextjs/components/biz/editor-example.tsx +++ b/packages/playground-nextjs/components/biz/editor-example.tsx @@ -136,12 +136,12 @@ export function EditorExample({ } }), events: [ - onDocChange((_view, content) => { + onDocChange((_view, state, content) => { const s = `Doc changes, current doc:\n\n${content}` console.log(s) setOutput(s) }), - onSelectionChange((view, sels) => { + onSelectionChange((view, state, sels) => { if (sels.length === 0 || sels[0].from === sels[0].to) { return } From f6859c39833b3296d6a30505498f707753b7d5d8 Mon Sep 17 00:00:00 2001 From: sanshuiyijing Date: Thu, 10 Oct 2024 16:04:03 +0800 Subject: [PATCH 6/6] fix: events extension test update --- packages/extensions/events/README.md | 2 +- packages/extensions/events/src/test/doc-change.test.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/extensions/events/README.md b/packages/extensions/events/README.md index 2efe18c..3f19e57 100644 --- a/packages/extensions/events/README.md +++ b/packages/extensions/events/README.md @@ -28,7 +28,7 @@ import { SelectionRange } from '@tidbcloud/codemirror-extension-events' -const docChangeHandler = (view: EditorView, doc: string) => { +const docChangeHandler = (view: EditorView, state: EditorState, doc: string) => { console.log(doc) } diff --git a/packages/extensions/events/src/test/doc-change.test.ts b/packages/extensions/events/src/test/doc-change.test.ts index 988ed67..29dfba7 100644 --- a/packages/extensions/events/src/test/doc-change.test.ts +++ b/packages/extensions/events/src/test/doc-change.test.ts @@ -23,7 +23,7 @@ describe('test change event', () => { state: EditorState.create({ doc: '', extensions: [ - onDocChange((_view, content) => { + onDocChange((_view, _state, content) => { doc = content }) ] @@ -45,7 +45,7 @@ describe('test change event', () => { state: EditorState.create({ doc: LINE_1, extensions: [ - onDocChange((_view, content) => { + onDocChange((_view, _state, content) => { doc = content }) ]