fix(external-editor): Fix TextEditorConfig parsing and add error handling
- TextEditorConfig.from_dict no longer requires 'name' field since name comes from dict key - Added try/except around _render_external_editor_panel to prevent tab bar mismatch
This commit is contained in:
@@ -974,7 +974,10 @@ class App:
|
||||
self._render_external_tools_panel()
|
||||
imgui.separator()
|
||||
imgui.text("")
|
||||
try:
|
||||
self._render_external_editor_panel()
|
||||
except Exception as e:
|
||||
imgui.text_colored(vec4(1, 0.3, 0.3, 1), f"Error: {str(e)}")
|
||||
imgui.end_tab_item()
|
||||
if imgui.begin_tab_item("Workspace Layouts")[0]:
|
||||
imgui.text("Experimental: Auto-switch layout by Tier")
|
||||
|
||||
+5
-1
@@ -425,7 +425,11 @@ class ExternalEditorConfig:
|
||||
editors = {}
|
||||
for name, ed_data in data.get("editors", {}).items():
|
||||
if isinstance(ed_data, dict):
|
||||
editors[name] = TextEditorConfig.from_dict(ed_data)
|
||||
editors[name] = TextEditorConfig(
|
||||
name=name,
|
||||
path=ed_data.get("path", ""),
|
||||
diff_args=ed_data.get("diff_args", []),
|
||||
)
|
||||
elif isinstance(ed_data, str):
|
||||
editors[name] = TextEditorConfig(name=name, path=ed_data)
|
||||
return cls(
|
||||
|
||||
Reference in New Issue
Block a user