2
0
Эх сурвалжийг харах

fix: Make diff wrapping toggle always available in command_list and correct a type error (resolves #10682) (#10683)

Ariane Emory 3 долоо хоног өмнө
parent
commit
0edd304f42

+ 10 - 0
packages/opencode/src/cli/cmd/tui/app.tsx

@@ -570,6 +570,16 @@ function App() {
         dialog.clear()
       },
     },
+    {
+      title: kv.get("diff_wrap_mode", "word") === "word" ? "Disable diff wrapping" : "Enable diff wrapping",
+      value: "app.toggle.diffwrap",
+      category: "System",
+      onSelect: (dialog) => {
+        const current = kv.get("diff_wrap_mode", "word")
+        kv.set("diff_wrap_mode", current === "word" ? "none" : "word")
+        dialog.clear()
+      },
+    },
   ])
 
   createEffect(() => {

+ 1 - 13
packages/opencode/src/cli/cmd/tui/routes/session/index.tsx

@@ -145,7 +145,7 @@ export function Session() {
   const [showDetails, setShowDetails] = kv.signal("tool_details_visibility", true)
   const [showAssistantMetadata, setShowAssistantMetadata] = kv.signal("assistant_metadata_visibility", true)
   const [showScrollbar, setShowScrollbar] = kv.signal("scrollbar_visible", false)
-  const [diffWrapMode, setDiffWrapMode] = createSignal<"word" | "none">("word")
+  const [diffWrapMode] = kv.signal<"word" | "none">("diff_wrap_mode", "word")
   const [animationsEnabled, setAnimationsEnabled] = kv.signal("animations_enabled", true)
 
   const wide = createMemo(() => dimensions().width > 120)
@@ -538,18 +538,6 @@ export function Session() {
         dialog.clear()
       },
     },
-    {
-      title: diffWrapMode() === "word" ? "Disable diff wrapping" : "Enable diff wrapping",
-      value: "session.toggle.diffwrap",
-      category: "Session",
-      slash: {
-        name: "diffwrap",
-      },
-      onSelect: (dialog) => {
-        setDiffWrapMode((prev) => (prev === "word" ? "none" : "word"))
-        dialog.clear()
-      },
-    },
     {
       title: showDetails() ? "Hide tool details" : "Show tool details",
       value: "session.toggle.actions",