Fix writing mode: prevent per-frame override and disable syntax highlighting
apply_syntax_to_buffer() was called every frame and unconditionally reset edit mode from the file extension, making it impossible to toggle out of writing mode for .txt/.md files. Add edit_mode_detected_ flag to Buffer so auto-detection runs once per buffer. Writing mode now also disables syntax highlighting as intended. Propagate edit_mode_ through Buffer copy/move ops. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1363,6 +1363,9 @@ cmd_toggle_edit_mode(const CommandContext &ctx)
|
||||
b->ToggleEditMode();
|
||||
}
|
||||
|
||||
// Writing mode disables syntax highlighting; code mode re-enables it.
|
||||
b->SetSyntaxEnabled(b->GetEditMode() == EditMode::Code);
|
||||
|
||||
const char *mode_str = (b->GetEditMode() == EditMode::Writing) ? "writing" : "code";
|
||||
ctx.editor.SetStatus(std::string("Mode: ") + mode_str);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user