toast README

The project's README from github.com/paradise-runner/toast. As one markdown file: README.md.

prek

toast

toast is a beautiful developer environment right in your terminal. vim, nvim, and emacs have you build your editor from scratch, while toast ships with managed LSPs, an integrated file tree, multiple file tabs, and themes out of the box. toast is for the developer who wants to stay in their terminal without spending hours getting it up to snuff.

⚠️ This project is in early development, you may encounter bugs. ⚠️

toast logo

Quick Install

brew install paradise-runner/tap/toast

Features

Editor No AI features No telemetry Built-in file tree Mouse support
toast ✅ ✅ ✅ ✅
vim ✅ ✅ ❌ ❌
emacs ✅ ✅ ❌ ❌
vscode ❌ ❌ ✅ ✅
zed ❌ ❌ ✅ ✅

Installation

Homebrew (macOS)

brew install paradise-runner/tap/toast

Download a release

Grab a zip for your platform from the releases page, unzip it, and place the binary on your $PATH:

# example for Apple Silicon
curl -Lo toast.zip https://github.com/paradise-runner/toast/releases/latest/download/toast-darwin-arm64.zip
unzip toast.zip
install -m755 toast-darwin-arm64 /usr/local/bin/toast

Standalone macOS app

⚠️ Experimental: this bundles toast inside a libghostty terminal window and has more bugs than the terminal version. The TUI — Homebrew or the release binary above — is the primary, best-tested way to run toast.

Prefer a native app over the terminal? Each release also ships Toast.app — a complete desktop app with its own terminal window (libghostty), native menu bar, and dock icon. No terminal, Homebrew, or Go required.

  1. Grab the zip for your Mac from the releases page: toast-app-darwin-arm64.zip for Apple Silicon (M1/M2/M3/M4), toast-app-darwin-amd64.zip for Intel.
  2. Unzip it and drag Toast.app into your Applications folder.
curl -LO https://github.com/paradise-runner/toast/releases/latest/download/toast-app-darwin-arm64.zip
unzip toast-app-darwin-arm64.zip
mv Toast.app /Applications/

First launch: the app is not code-signed or notarized yet, so macOS Gatekeeper will block a plain double-click. Right-click Toast.app in Finder and choose Open, then Open again — it launches fine from then on. Or clear the quarantine flag once: xattr -dr com.apple.quarantine /Applications/Toast.app

open -a Toast ~/src/foo.go
open -a Toast ~/src/myproject

Build from source

Requires Go 1.25.2+.

git clone https://github.com/paradise-runner/toast
cd toast
make build
# binary written to bin/toast

Usage

toast               # open current directory
toast path/to/dir   # open a specific directory
toast path/to/file  # open a file (auto-detects git root)
toast new/file.go   # open a new file buffer if the parent directory exists
toast --help
toast --version

Keybindings

All keybindings can be remapped in ~/.config/toast/config.json (see Configuration).

Key Action
Ctrl+Q Quit
Ctrl+S / Cmd+S Save
Ctrl+W / Cmd+W Close tab
Ctrl+P Quick-open file search (fuzzy)
Ctrl+Shift+P / Cmd+Shift+P Command palette
Ctrl+Alt+Right Next tab
Ctrl+Alt+Left Previous tab
Ctrl+B Toggle sidebar
Ctrl+Shift+E Toggle focus between editor and file tree
Ctrl+Shift+F Search
Ctrl+F / Cmd+F Find and replace in the current file
Ctrl+G / Cmd+L Go to line
Ctrl+Shift+M Toggle Markdown preview
Ctrl+Z / Cmd+Z Undo
Ctrl+Y / Ctrl+Shift+Z / Cmd+Y / Cmd+Shift+Z Redo
Ctrl+Space / Cmd+Space Trigger completion
Ctrl+Shift+K Show hover
Ctrl+hover / Ctrl-click Check for and follow a definition
F12 Go to the definition at the cursor

Configuration

Toast reads ~/.config/toast/config.json on startup. Missing keys fall back to defaults.

{
  "theme": "toast-dark",
  "editor": {
    "tab_width": 4,
    "auto_indent": true,
    "trim_trailing_whitespace_on_save": true,
    "insert_final_newline_on_save": true,
    "auto_save": "auto",
    "auto_save_delay_ms": 300,
    "bottom_padding": 3
  },
  "sidebar": {
    "visible": true,
    "width": 30,
    "confirm_delete": true,
    "file_icons": {
      "enabled": true,
      "color_mode": "accent"
    }
  },
  "ignored_patterns": [".git", "node_modules", "__pycache__", ".DS_Store"]
}

auto_save selects the save mode: "auto" (default) writes dirty buffers to disk after auto_save_delay_ms milliseconds of inactivity, while "manual" requires an explicit save (ctrl+s / super+s).

Keybindings

All default keybindings can be overridden with the keybindings object. Each action accepts a list of key strings (supports ctrl, alt, shift, super modifiers). An empty list unbinds the action.

{
  "keybindings": {
    "save": ["ctrl+s"],
    "quick_open": ["ctrl+o"],
    "next_tab": ["ctrl+tab"],
    "prev_tab": ["ctrl+shift+tab"],
    "quit": []
  }
}

Available actions: quit, toggle_sidebar, save, new_file, close_tab, undo, redo, next_tab, prev_tab, search, find_replace, quick_open, command_palette, theme_picker, go_to_line, go_to_definition, toggle_focus, markdown_preview, show_hover, trigger_completion.

Omit lsp to use Toast's managed defaults for Go, Rust, Python, JavaScript, TypeScript, and Markdown; set "lsp": {} to disable all language servers.

{
  "lsp": {
    "zig": {
      "command": "zls",
      "args": [],
      "extensions": [".zig"]
    }
  }
}

Themes

Built-in themes: system, toast-dark, toast-light. Custom themes live in ~/.config/toast/themes/.

Import a VSCode theme:

toast migrate-theme vscode path/to/theme.json
# writes ~/.config/toast/themes/<theme-name>.json

Then set "theme": "<theme-name>" in your config.

Feedback & Issues

Found a bug or have a feature request? We'd love to hear from you! Please open an issue on GitHub with as much detail as possible. Your feedback helps make Toast better.

Development

make build             # compile
make run               # go run ./cmd/toast .
make test              # go test ./...
make test-integration  # run opt-in Ghostty/tmux terminal integration tests
make test-integration-update  # refresh golden screenshots

toast (paradise-runner/toast)

Searching Database…

278 ·GitHub
What is this?Toast is a batteries-included IDE that runs right in your terminal, written in Go: managed language servers, an integrated file tree, multiple file tabs, and themes all ship out of the box.
How is it different from just using vim or emacs?Unlike vim, nvim, or emacs — where you build the editor up from config — Toast is one binary that works immediately, aimed at developers who'd rather not spend hours tweaking before writing code.
How do I get it running?Install via Homebrew on macOS, or grab a release zip for your platform from the releases page, unzip it, and put the binary on your $PATH. Building from source requires Go 1.25.2+.
Do I have to install language servers or ripgrep myself first?No manual LSP setup: Toast offers to install missing servers for Go, Rust, Python, JavaScript, TypeScript, and Markdown, with an extensible config for other languages. Project-wide search is powered by ripgrep.
Is it stable enough for daily work?Expect some bugs — the project is in early development. The terminal version is the primary, best-tested way to run Toast; the bundled macOS app is experimental and buggier.
Will it run on Linux and Windows, or is it macOS-only?The terminal version is cross-platform — release zips ship per platform. macOS additionally gets Homebrew and a standalone Toast.app built separately for Apple Silicon and Intel Macs.
Does it have AI features or phone home with telemetry?Neither — the README comparison table lists No AI features and No telemetry as Toast checkmarks, in contrast to vscode and zed.
Which languages get highlighting and language-server smarts?Tree-sitter syntax highlighting covers Go, Python, JavaScript, TypeScript, Rust, CSS, HTML, YAML, Bash, and Markdown. Managed language servers (offered for on-demand install) cover Go, Rust, Python, JavaScript, TypeScript, and Markdown via harper, and other languages can be added through config.
I'd rather not live in the terminal — is there a desktop app?Yes: macOS releases ship Toast.app, which runs toast inside its own libghostty terminal window with a native menu bar and dock icon — no terminal, Homebrew, or Go required. It is not code-signed yet, so first launch needs a right-click Open in Finder or clearing the quarantine flag with xattr.
How much can I customize — keybindings, themes, autosave?Quite a lot, all through ~/.config/toast/config.json: every default keybinding can be overridden, autosave switches between auto mode (writes after 300 ms of inactivity by default) and manual save, and themes include system, toast-dark, and toast-light plus a VSCode theme importer and custom theme files.
How do I get around a codebase in Toast?Ctrl+P fuzzy-opens files, Ctrl+Shift+F runs project-wide search via ripgrep, and Ctrl+F does in-file find and replace with match-case and whole-word options. For navigation, hold Ctrl and hover to underline a symbol, then Ctrl-click (or press F12) to jump to its definition.
Size
10.2 MB
Stars
278
Age
6mo
Commits · 90 Days