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
这是什么?Toast 是一个用 Go 编写、开箱即用的终端 IDE:自带语言服务器管理、集成的文件树、多文件标签页和主题,装好就能用。
它和直接用 vim 或 emacs 有什么区别?vim、nvim 或 emacs 这类编辑器需要你自己写配置一步步搭出来,而 Toast 是一个拿来就能用的单一可执行文件,适合不想在写代码前先花好几个小时折腾配置的开发者。
我怎么把它跑起来?在 macOS 上可以用 Homebrew 安装,或者从 releases 页面下载适合你平台的 zip 压缩包,解压后把可执行文件放到 $PATH 里。从源码构建需要 Go 1.25.2 及以上版本。
我需要自己先装好语言服务器或 ripgrep 吗?不需要手动配置 LSP:如果 Go、Rust、Python、JavaScript、TypeScript 和 Markdown 的语言服务器缺失,Toast 会主动帮你安装,其他语言也可以通过可扩展的配置添加。全项目搜索则由 ripgrep 驱动。
它稳定到能日常干活吗?可能会遇到一些 bug——这个项目还处于早期开发阶段。终端版本是运行 Toast 的主要方式,也是测试最充分的;自带的 macOS 应用还处于实验阶段,问题更多一些。
它能在 Linux 和 Windows 上运行吗,还是仅限 macOS?终端版本是跨平台的——releases 里按平台分别提供 zip 压缩包。macOS 用户还可以额外获得 Homebrew 安装方式,以及分别为 Apple Silicon 和 Intel Mac 单独构建的独立 Toast.app。
它有 AI 功能吗?会不会偷偷上报遥测数据?都没有——README 的对比表里,Toast 一栏勾选了 No AI features(无 AI 功能)和 No telemetry(无遥测),与 vscode 和 zed 形成对比。
哪些语言支持语法高亮和语言服务器智能功能?Tree-sitter 语法高亮覆盖 Go、Python、JavaScript、TypeScript、Rust、CSS、HTML、YAML、Bash 和 Markdown。由 Toast 管理的语言服务器(可按需安装)通过 harper 覆盖 Go、Rust、Python、JavaScript、TypeScript 和 Markdown,其他语言可以通过配置添加。
我不想整天泡在终端里——有桌面应用吗?有:macOS 版本自带 Toast.app,它在一个自带的 libghostty 终端窗口里运行 toast,配有原生菜单栏和 Dock 图标——不需要终端、Homebrew 或 Go。它目前还没有经过代码签名,首次启动时需要在访达(Finder)里右键点“打开”,或者用 xattr 清除隔离标记。
我能自定义多少东西——快捷键、主题、自动保存?能自定义的相当多,全部通过 ~/.config/toast/config.json 完成:每个默认快捷键都可以覆盖,自动保存可以在自动模式(默认停顿 300 毫秒后写入)和手动保存之间切换,主题包括 system、toast-dark 和 toast-light,还带一个 VSCode 主题导入器,也支持自定义主题文件。
在 Toast 里我怎么在一个代码库中导航?Ctrl+P 可以模糊搜索并打开文件,Ctrl+Shift+F 通过 ripgrep 进行全项目搜索,Ctrl+F 在当前文件内查找和替换,还支持区分大小写和全字匹配选项。导航时,按住 Ctrl 并把鼠标悬停在某个符号上会出现下划线,然后 Ctrl+点击(或按 F12)即可跳转到它的定义处。
Size
10.5 MB
Stars
278
Age
6mo
Commits · 90 Days