Toast: Môi trường lập trình đẹp mặc định ngay trong terminal
Toast là một IDE chạy trong terminal, được thiết kế để đẹp và đầy đủ tính năng ngay khi cài đặt — khác với vim, nvim hay emacs vốn đòi hỏi người dùng tự cấu hình từ đầu. Dự án tích hợp sẵn LSP, cây thư mục, nhiều tab và hệ thống theme, nhưng vẫn đang trong giai đoạn phát triển sớm và có thể còn lỗi.

Toast: Môi trường lập trình đẹp mặc định ngay trong terminal
Toast là một môi trường phát triển dành cho terminal, được xây dựng với triết lý "đẹp mặc định" — tức là mọi thứ cần thiết đều có sẵn ngay sau khi cài đặt. Khác với vim, nvim hay emacs vốn buộc lập trình viên phải tự xây dựng trình soạn thảo từ con số không, Toast mang đến LSP được quản lý tự động, cây thư mục tích hợp, nhiều tab và hệ thống theme ngay từ đầu. Đây là lựa chọn dành cho những ai muốn ở lại trong terminal mà không mất hàng giờ để cấu hình.
Giao diện Toast trong terminal
⚠️ Dự án đang trong giai đoạn phát triển sớm, người dùng có thể gặp lỗi trong quá trình sử dụng.
Điểm khác biệt so với các trình soạn thảo truyền thống
Bảng so sánh dưới đây cho thấy vị trí của Toast so với các công cụ quen thuộc:
| Tính năng | Toast | vim | emacs | vscode | zed |
|---|---|---|---|---|---|
| Không có tính năng AI | ✅ | ✅ | ✅ | ❌ | ❌ |
| Không thu thập dữ liệu (telemetry) | ✅ | ✅ | ✅ | ❌ | ❌ |
| Cây thư mục tích hợp | ✅ | ❌ | ❌ | ✅ | ✅ |
| Hỗ trợ chuột | ✅ | ❌ | ❌ | ✅ | ✅ |
Điểm đáng chú ý là Toast không tích hợp tính năng AI và không thu thập telemetry — hai yếu tố ngày càng được cộng đồng lập trình viên quan tâm, đặc biệt trong bối cảnh nhiều công cụ hiện đại mặc định gửi dữ liệu về máy chủ.
Các tính năng chính
Trình soạn thảo
- Chỉnh sửa đa tab với chỉ báo thay đổi chưa lưu, nút đóng bằng chuột và xác nhận khi thoát
- Tô sáng cú pháp thông qua tree-sitter, hỗ trợ Go, Python, JavaScript, TypeScript, Rust, CSS, HTML, YAML, Bash và Markdown
- Language server được quản lý — Toast sẽ đề nghị cài đặt server còn thiếu cho Go, Rust, Python, JavaScript, TypeScript và Markdown (harper), kèm cấu hình mở rộng cho các ngôn ngữ khác
- Kiểm tra chính tả — từ viết sai trong file Markdown và văn bản thuần được gạch chân bằng màu chẩn đoán của theme
- Đi tới định nghĩa — giữ Ctrl và di chuột để gạch chân các ký hiệu có đích đến, sau đó Ctrl-click để nhảy tới định nghĩa chính xác
- Tìm kiếm toàn dự án nhờ ripgrep (rg)
- Tìm và thay thế trong file với điều hướng tiếp theo/trước đó, tùy chọn phân biệt chữ hoa chữ thường và khớp toàn từ
- Command palette — Ctrl+Shift+P để tìm kiếm mờ trên mọi hành động, kèm gợi ý phím tắt và trạng thái bật/tắt trực tiếp
- Xem trước Markdown cho các file .md, .markdown và .mdx
- Tự động lưu — file đang chỉnh sửa được ghi xuống đĩa sau một khoảng thời gian không hoạt động có thể cấu hình (mặc định 300 ms), kèm chế độ lưu thủ công tùy chọn
Cây thư mục bên hông
Thanh bên hiển thị trạng thái git, làm mờ các file bị bỏ qua, hỗ trợ tạo/xóa, theo dõi thay đổi file và có thể kéo để thay đổi kích thước.
Hệ thống theme
Toast có sẵn ba theme: system (lấy màu từ terminal lúc chạy), toast-dark và toast-light. Người dùng cũng có thể nhập theme từ VSCode thông qua lệnh:
toast migrate-theme vscode path/to/theme.json
Cài đặt
Homebrew trên macOS
brew install paradise-runner/tap/toast
Tải bản phát hành
Người dùng có thể tải file zip phù hợp với nền tảng từ trang releases, giải nén và đặt binary vào $PATH:
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
Ứng dụng macOS độc lập
Ngoài phiên bản TUI, mỗi bản phát hành còn có Toast.app — ứng dụng desktop hoàn chỉnh với cửa sổ terminal riêng (libghostty), menu bar gốc và biểu tượng trên dock. Tuy nhiên đây là tính năng thử nghiệm, có nhiều lỗi hơn phiên bản terminal.
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/
Lưu ý: ứng dụng chưa được ký mã và notarize, nên Gatekeeper của macOS sẽ chặn khi nhấp đúp. Người dùng cần nhấp chuột phải vào Toast.app trong Finder và chọn Open, hoặc xóa cờ cách ly:
xattr -dr com.apple.quarantine /Applications/Toast.app
Biên dịch từ mã nguồn
Yêu cầu Go 1.25.2+:
git clone https://github.com/paradise-runner/toast
cd toast
make build
# binary được ghi vào bin/toast
Cách sử dụng
toast # mở thư mục hiện tại
toast path/to/dir # mở một thư mục cụ thể
toast path/to/file # mở một file (tự động phát hiện git root)
toast new/file.go # mở buffer file mới nếu thư mục cha tồn tại
toast --help
toast --version
rg là yêu cầu bắt buộc cho tính năng tìm kiếm toàn dự án. Khi thiếu language server tích hợp, Toast sẽ hiển thị lời nhắc cài đặt ở góc dưới bên phải, và chỉ chạy sau khi người dùng chấp nhận.
Phím tắt quan trọng
| Phím | Hành động |
|---|---|
| Ctrl+Q | Thoát |
| Ctrl+S / Cmd+S | Lưu |
| Ctrl+W / Cmd+W | Đóng tab |
| Ctrl+P | Tìm kiếm file nhanh (fuzzy) |
| Ctrl+Shift+P | Command palette |
| Ctrl+Alt+Right | Tab tiếp theo |
| Ctrl+Alt+Left | Tab trước đó |
| Ctrl+B | Bật/tắt thanh bên |
| Ctrl+Shift+E | Chuyển tiêu điểm giữa editor và cây file |
| Ctrl+Shift+F | Tìm kiếm |
| Ctrl+G / Cmd+L | Đi tới dòng |
| Ctrl+Shift+M | Bật/tắt xem trước Markdown |
| F12 | Đi tới định nghĩa tại con trỏ |
Tất cả phím tắt đều có thể gán lại trong file ~/.config/toast/config.json.
Cấu hình
Toast đọc file ~/.config/toast/config.json khi khởi động. Các khóa thiếu sẽ dùng giá trị mặc định:
{
"theme": "toast-dark",
"editor": {
"tab_width": 4,
"auto_indent": true,
"auto_save": "auto",
"auto_save_delay_ms": 300,
"bottom_padding": 3
},
"sidebar": {
"visible": true,
"width": 30
},
"ignored_patterns": [".git", "node_modules", "__pycache__", ".DS_Store"]
}
Điểm mạnh về mặt cấu hình là LSP có thể mở rộng cho bất kỳ ngôn ngữ nào mà không cần thay đổi mã nguồn Toast. Ví dụ, để thêm hỗ trợ Zig:
{
"lsp": {
"zig": {
"command": "zls",
"args": [],
"extensions": [".zig"]
}
}
}
Nếu bỏ qua khóa lsp, Toast dùng mặc định được quản lý cho Go, Rust, Python, JavaScript, TypeScript và Markdown. Đặt "lsp": {} sẽ vô hiệu hóa toàn bộ language server.
Góc nhìn cho lập trình viên Việt Nam
Với cộng đồng lập trình viên Việt Nam — những người thường xuyên làm việc trên server từ xa, VPS hoặc trong môi trường container/Docker nơi giao diện đồ họa không khả dụng — một IDE terminal đầy đủ tính năng như Toast có thể là lựa chọn đáng cân nhắc. Việc LSP được cài tự động giúp giảm đáng kể thời gian thiết lập môi trường, đặc biệt hữu ích khi làm việc với nhiều ngôn ngữ khác nhau trong cùng một dự án.
Tuy nhiên, cần lưu ý rằng dự án vẫn đang ở giai đoạn phát triển sớm, chưa có bản dựng cho Windows và chưa được ký mã trên macOS. Những người muốn sự ổn định tuyệt đối có thể nên chờ thêm trước khi chuyển đổi hoàn toàn khỏi vim, nvim hoặc VSCode.
Kết luận
Toast đại diện cho một hướng tiếp cận đáng chú ý: thay vì buộc người dùng tự cấu hình mọi thứ, nó chọn "đẹp mặc định" — một triết lý tương tự những gì Zed hay VSCode đã làm trong thế giới GUI, nhưng được chuyển thể vào terminal. Với những ai đánh giá cao sự riêng tư (không AI, không telemetry) và muốn một môi trường làm việc hoàn chỉnh ngay khi cài, Toast là cái tên đáng theo dõi trong thời gian tới.


