FerrumAPI
API client
A native, local-first API client with the Postman basics, minus the bloat.
Learn more about FerrumAPIA small, hackable code editor in the spirit of Atom, written from scratch in Rust and configured in plain TOML.
Tree view, tabs, fuzzy finder and command palette, with config, keymap, theme and snippets in plain files you edit in the editor itself. Lighter than an IDE, and built from scratch rather than forked.
pub struct Theme {
pub bg: Rgb,
pub fg: Rgb,
pub accent: Rgb,
}
pub fn dark() -> Theme {
bg: rgb(0x14110d),
fg: rgb(0xf1e9df),
accent: rgb(0xc5dc3a),
}
› toggle
Everything a project prints while you develop, in one live, filtered view: log files, dev servers and other commands, Docker containers and Compose services.
web12:04:01INFOready on http://localhost:3000
db12:04:02INFOdatabase system is ready
web12:04:07INFOGET /cart 200 18ms
web12:04:09ERRORTypeError: price is undefined
app12:04:09WARNretrying payment webhook (2/3)
Jump to latest (12 new)Check on CI without a browser tab. The CI page reads the GitHub repository of the project you have open and shows its Actions runs next to your code.
CI #210 · test
▸ Run cargo test --workspace
error[E0308]: mismatched types
--> src/cart.rs:42:9
Re-run failed jobsOpen on GitHub
The buffer, cursors and commands are covered by unit tests, and the app by headless tests that type real keystrokes through the keymap.
Tree view, tabs with a dirty dot, split panes, a fuzzy file finder (⌘P), a command palette (⇧⌘P) with every command and its keys, and go to line.
⌘-click to add carets, ⌘D for the next occurrence, select all occurrences, split a selection into lines, add cursors above and below, Alt-drag for columns.
Find and replace in the file with case, whole word and regex with $1 groups, and find in files that respects .gitignore.
Rust, JavaScript, TypeScript, JSON, TOML, YAML, Markdown, Python, Go, HTML, CSS and Bash, parsed in the background.
config.toml, keymap.toml, theme.toml and snippets.toml in ~/.ferrum/editor, opened from the palette and applied the moment you save.
Completions as you type, problems underlined with counts in the status bar, and go to definition with F12 or ⌘-click. rust-analyzer, gopls, TypeScript and the others install themselves the first time you open a file.
Rope buffer, undo, multi-cursor, rendering and input are written from scratch on GPUI, not forked from another editor.
Ferrum Editor is in alpha, a first vertical slice. It is tested automatically, but the window is new and its visual polish is unverified.
Key bindings are designed for macOS; on Linux and Windows ⌘ becomes Ctrl.