Browse Source

feat: add line wrapping

Andrew Bastin 4 years ago
parent
commit
fe7192ae61
1 changed files with 17 additions and 0 deletions
  1. 17 0
      packages/hoppscotch-app/helpers/editor/codemirror.ts

+ 17 - 0
packages/hoppscotch-app/helpers/editor/codemirror.ts

@@ -250,6 +250,7 @@ export function useNewCodemirror(
   options: CodeMirrorOptions
 ): { cursor: Ref<{ line: number; ch: number }> } {
   const language = new Compartment()
+  const lineWrapping = new Compartment()
 
   const cachedCursor = ref({
     line: 0,
@@ -298,6 +299,11 @@ export function useNewCodemirror(
       language.of(
         getEditorLanguage((options.extendedEditorConfig.mode as any) ?? "")
       ),
+      lineWrapping.of(
+        options.extendedEditorConfig.lineWrapping
+          ? [EditorView.lineWrapping]
+          : []
+      ),
       keymap.of(defaultKeymap),
     ],
   })
@@ -336,6 +342,17 @@ export function useNewCodemirror(
     }
   })
 
+  watch(
+    () => options.extendedEditorConfig.lineWrapping,
+    (newMode) => {
+      dispatch({
+        effects: lineWrapping.reconfigure(
+          newMode ? [EditorView.lineWrapping] : []
+        ),
+      })
+    }
+  )
+
   watch(
     () => options.extendedEditorConfig.mode,
     (newMode) => {