kosei-n 2 лет назад
Родитель
Сommit
435a485d6e

+ 3 - 8
packages/editor/src/components/CodeMirrorEditor/CodeMirrorEditor.tsx

@@ -9,7 +9,7 @@ import type { ReactCodeMirrorProps } from '@uiw/react-codemirror';
 import { GlobalCodeMirrorEditorKey, AcceptedUploadFileType } from '../../consts';
 import { GlobalCodeMirrorEditorKey, AcceptedUploadFileType } from '../../consts';
 import { useFileDropzone, FileDropzoneOverlay } from '../../services';
 import { useFileDropzone, FileDropzoneOverlay } from '../../services';
 import {
 import {
-  getStrFromBolToSelectedUpperPos, adjustPasteData,
+  getStrFromBol, adjustPasteData,
 } from '../../services/list-util/markdown-list-util';
 } from '../../services/list-util/markdown-list-util';
 import { useCodeMirrorEditorIsolated } from '../../stores';
 import { useCodeMirrorEditorIsolated } from '../../stores';
 
 
@@ -72,13 +72,6 @@ export const CodeMirrorEditor = (props: Props): JSX.Element => {
         return;
         return;
       }
       }
 
 
-      const strFromBol = getStrFromBolToSelectedUpperPos(editor);
-
-      const testVar = strFromBol;
-
-      console.log(testVar);
-      console.log('kohsei');
-
       if (event.clipboardData == null) {
       if (event.clipboardData == null) {
         return;
         return;
       }
       }
@@ -91,6 +84,8 @@ export const CodeMirrorEditor = (props: Props): JSX.Element => {
 
 
         const textData = event.clipboardData.getData('text/plain');
         const textData = event.clipboardData.getData('text/plain');
 
 
+        const strFromBol = getStrFromBol(editor);
+
         const adjusted = adjustPasteData(strFromBol, textData);
         const adjusted = adjustPasteData(strFromBol, textData);
 
 
         if (adjusted != null) {
         if (adjusted != null) {

+ 1 - 1
packages/editor/src/services/codemirror-editor/use-codemirror-editor/use-codemirror-editor.ts

@@ -1,7 +1,7 @@
 import { useMemo } from 'react';
 import { useMemo } from 'react';
 
 
 import { indentWithTab, defaultKeymap } from '@codemirror/commands';
 import { indentWithTab, defaultKeymap } from '@codemirror/commands';
-import { markdown, markdownLanguage } from '@codemirror/lang-markdown';
+import { markdown, markdownLanguage, markdownKeymap } from '@codemirror/lang-markdown';
 import { syntaxHighlighting, HighlightStyle, defaultHighlightStyle } from '@codemirror/language';
 import { syntaxHighlighting, HighlightStyle, defaultHighlightStyle } from '@codemirror/language';
 import { languages } from '@codemirror/language-data';
 import { languages } from '@codemirror/language-data';
 import { EditorState, Prec, type Extension } from '@codemirror/state';
 import { EditorState, Prec, type Extension } from '@codemirror/state';

+ 4 - 2
packages/editor/src/services/list-util/markdown-list-util.ts

@@ -4,11 +4,11 @@ const indentAndMarkRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*
 
 
 const getBol = (editor: EditorView) => {
 const getBol = (editor: EditorView) => {
   const curPos = editor.state.selection.main.head;
   const curPos = editor.state.selection.main.head;
-  const aboveLine = editor.state.doc.lineAt(curPos).number - 1;
+  const aboveLine = editor.state.doc.lineAt(curPos).number;
   return editor.state.doc.line(aboveLine).from;
   return editor.state.doc.line(aboveLine).from;
 };
 };
 
 
-const getStrFromBol = (editor: EditorView) => {
+export const getStrFromBol = (editor: EditorView) => {
   const curPos = editor.state.selection.main.head;
   const curPos = editor.state.selection.main.head;
   return editor.state.sliceDoc(getBol(editor), curPos);
   return editor.state.sliceDoc(getBol(editor), curPos);
 };
 };
@@ -28,6 +28,8 @@ const insertText = (editor: EditorView, text: string) => {
 export const newlineAndIndentContinueMarkdownList = (editor: EditorView): void => {
 export const newlineAndIndentContinueMarkdownList = (editor: EditorView): void => {
   const strFromBol = getStrFromBol(editor);
   const strFromBol = getStrFromBol(editor);
 
 
+  console.log(strFromBol);
+
   const matchResult = strFromBol.match(indentAndMarkRE);
   const matchResult = strFromBol.match(indentAndMarkRE);
 
 
   if (matchResult != null) {
   if (matchResult != null) {