fred is a handmade editor which was built (and continues to be built) using zero AI tools.

Intro: fred | about

fred sets itself apart from other native editors by introducing its users to two core concepts:

  1. Editing a document retains every change you've ever made.
  2. Plugins let you have access to nearly all of the editing capabilities and core systems across the editor. Oh yeah, plugins are written in C!

Editing

Editing is fast and fluid. Editing is core to an editor. It is its one job. fred's internals are laid out in a way that brings the delay from when you hit a key to when that character appears on screen to an absolute minimum.

As you edit, you are building up pieces to fred's internal data structure, fredbuf. Since each edit it non-destructive, the editor can preserve every edit as an undo point into a tree this way even if you undo and start adding new text, you can always revisit that old version of the document by navigating to it in the undo graph UI. Read more about fred's undo system here.

Plugins

Typical plugins in editors come in the form of config files, Python, Lua, etc. Sometimes an editor will make its own DSL just for creating new editor behavior (e.g. vimscript). fred takes a different approach entirely. The Handmade community is already intimately familiar with programming in C, so what if the editor took advantage of the aggregate knowledge of C programming and adapted it for its plugin system? This is exactly what fred does! It leverages an excellent project, TCC, to embed a C compiler right in the editor and compile plugin code without ever having to download your own compiler. You can watch a short tutorial on the plugin system here.

fred Values

  • Standalone .exe
  • Fast startup / editing experience
  • Customizable/pluggable
  • Custom UI
  • Custom renderers for each platform (Win32, Linux, macOS)
  • Small memory footprint

AI Policy

fred was written entirely by hand since initial development in 2023. fred will continue to remain AI free as long as starfreakclone is leading this project.