Write, find and organise

11 of 12 merged, 1 being built

The everyday editor: files, native windows, precise edits, navigation and settings.

One of the five chapters on the way to 1.0: 11 of its 12 work areas are merged into the development code, which is not the same as verified for release. Checked against the development repository on 15 October 2026.

MostlyText development build: the sidebar with Folder, Outline and Search sections beside the Markdown source, whose headings appear in the outline.
Merged: the Folder, Outline and Search sidebar beside the source. Each heading is a place in the outline.

In short

This is the editor you sit in all day: opening and saving files, native Mac windows and tabs, a fast text view, the outline of headings, the folder sidebar, the Markdown shortcuts that carry on a list when you press Return, and settings that apply straight away.

MostlyText rebuilt these rather than patching the old MacDown, which re-rendered a web page on every keystroke and depended on unmaintained parsers. The risky parts, saving, recovering after a crash and noticing when another app changes your file, were treated as data-safety work with their own tests.

Almost all of it is merged. The last piece, everyday editor essentials, has its features in the development code: line numbers and a status bar, multiple cursors, find and replace across a folder, Quick Open, line tools, snippets and line-ending control. It stays “being built” until its release checks and remaining safety proof are closed.

Where it stands

How it will be checked

From the acceptance criteria in the plan. Merged work still has to pass these on a release build.

  • Force-quit after editing a document you haven’t saved, and the text is there when the app reopens.
  • A failed save, for example to a folder you can’t write to, never loses your text or its recovery copy.
  • When another app changes a file you have open, a clean document reloads; one with unsaved edits keeps them and shows the conflict.
  • A 1 MB Markdown file shows text in under 300 ms, typing stays under 50 ms a keystroke, and a 10 MB file opens without the spinning cursor.
  • Opening the same file twice never makes a second tab, and closing a tab with unsaved changes always asks first.
  • Quit with five documents open, and all five come back where you left them.
  • Every setting applies to documents that are already open, without relaunching.

Issue 203 records one case where the keystroke budget isn’t met yet: re-parsing a 1 MB document.

The 12 work areas

File and format core

Merged

  • Text-first format registry, encoding-aware file I/O, atomic save, dirty tracking, recovery

Implemented in the development code. Final release verification is tracked in #115.

Depends on Project foundations.

Issue 2Plan reference E01

Workspace shell

Merged

  • Native document windows, per-window sidebar, menus and window restoration

Implemented in the development code. Final release verification is tracked in #115.

Depends on File and format core.

Issue 3Plan reference E02

Native tabs and sessions

Merged

  • Native NSWindow tab groups, document deduplication, dirty-close flow, session restore

Implemented in the development code. Final release verification is tracked in #115.

Depends on File and format core; Workspace shell.

Issue 4Plan reference E03

Native text editor

Merged

  • NSTextView/TextKit 2, viewport-lazy layout, per-document undo, wrap and selection

Implemented in the development code. Final release verification is tracked in #115.

Depends on File and format core.

Issue 5Plan reference E04

Syntax highlighting

Merged

  • Tree-sitter language registry, Tomorrow themes and live switching

Implemented in the development code. Final release verification is tracked in #115.

Depends on Native text editor.

Issue 6Plan reference E05

Document outline

Merged

  • Heading tree, navigation and current section

Implemented in the development code. Final release verification is tracked in #115.

Depends on Markdown engine; Workspace shell.

Issue 9Plan reference E08

Folder browser

Merged

  • Lazy folders, watching, create/rename/move/trash, root switching

Implemented in the development code. Final release verification is tracked in #115.

Depends on File and format core; Workspace shell; Native tabs and sessions.

Issue 10Plan reference E09

Markdown editing assists

Merged

  • Lists/tasks/quotes, delimiter pairing, formatting, indentation

Implemented in the development code. Final release verification is tracked in #115.

Depends on Native text editor.

Issue 11Plan reference E10

Multiple text formats

Merged

  • JSON validation/formatting/outline, HTML preview toggle, source-language registry

Implemented in the development code. Final release verification is tracked in #115.

Depends on Syntax highlighting; Native Markdown preview.

Issue 12Plan reference E11

Settings

Merged

  • Native settings and live application

Implemented in the development code. Final release verification is tracked in #115.

Depends on Workspace shell.

Issue 14Plan reference E13

External file changes

Merged

  • Live disk changes, conflict handling, reload with state preservation

Implemented in the development code. Final release verification is tracked in #115.

Depends on File and format core; Native tabs and sessions; Native text editor.

Issue 30Plan reference E18

Everyday editor essentials

Being built

  • Line numbers, status bar, Go to Line/Column, invisibles
  • Multi-cursor, occurrence selection, one-step undo
  • Document literal/regex find and replace; Cmd-F binding
  • Quick Open and recent files
  • Streaming folder search and previewed safe folder replacement
  • Line transforms, sort/deduplicate, whitespace, case, comments, indentation
  • Source editing profiles and syntax override
  • Explicit encoding reopen/save and undoable LF/CRLF/CR conversion
  • Scoped snippets with selection, clipboard and final caret
  • TeX/LaTeX source recognition with deliberate plain-styled fallback; no compilation
  • Parser-option cleanup and command-catalog consistency

Feature slices implemented; release closure and remaining native/safety proof are open.

#173/#159/#155 remain open; #472 evidence-only experiment is not a shipped performance fix.

Depends on Whole-app polish and first run; Interim localisation baseline.

Issue 112Issue 183Issue 203Issue 459Plan reference E22

Open in the development repository

Titles as the developers wrote them, on 15 October 2026.

Not part of this

  • Language-server IDE features, a terminal, a Git interface, a debugger or an AI sidebar.
  • A minimap, code folding, a hex editor, SSH or a global keyboard-shortcut editor.
  • The full TextMate or VS Code snippet grammar.

What the labels mean

Merged
in the development code, still subject to the release checks.
Being built
work or hardening is underway, with an open issue or pull request.