Repository navigation
v0.4.0
dmEd v0.4.0
dmEd — a terminal-native, keyboard-driven code editor built in Go, designed for AI-assisted development. AI agents read, propose, and apply changes — but every diff is approved by a human. Nothing happens behind your back.
This release massively expands the Git workflow, adds a one-line installer, makes all letter commands keyboard-layout independent, and overhauls packaging.
🚀 Install
One-line install on Linux, macOS, and BSD (only needs curl):
curl -fsSL https://raw.githubusercontent.com/dedomorozoff/dmed/main/install.sh | sh
Installs the latest release to ~/.local/bin (or %LOCALAPPDATA%\dmed on Windows). Also available:
# build from source
git clone https://github.com/dedomorozoff/dmed.git && cd dmed && make build
# or directly
go install github.com/dedomorozoff/dmed@latest
Requires Go ≥ 1.24 to build from source; the one-liner uses a prebuilt binary.
✨ New & improved
Git panel (Ctrl+G)
- Initialize a repo (i) when the current file has no repository — shows a clean "no repository" state.
- Branch management (b) — list branches, switch (Enter), create a new one (n).
- Commit history (l) — log with hash / subject / author / time, plus per-commit diff.
- Inline side-by-side diffs with syntax highlighting as you browse files, plus a full-screen d diff view.
- Focus & mouse — Tab / click to switch focus between the file list and the diff; wheel scrolls the diff.
- Staging (Space), stage-all (a), commit (c), refresh (r).
Keyboard-layout independence
All letter commands (c/a/r/l/d/b/i…) now work regardless of the active layout — including Russian ЙЦУКЕН (QWERTY-positional). Fixed a real bug where normalizeKey used byte length instead of rune count, leaving trailing NUL bytes that broke commands like b in Cyrillic.
Editor
- File: New File... in the command palette (Ctrl+P / F2).
- Status bar file info — LF/CRLF, encoding (UTF-8/UTF-16), plus a duplicate line command (Ctrl+D).
Tooling & packaging
- install.sh — a single-command installer that fetches the latest GitHub release.
- Refreshed Makefile — colorized help, VERSION/DESTDIR overrides, staged installs.
- Upgraded bubbletea to v2 for modern terminal support (mouse, window title).
- Package builds (deb/rpm/pacman/Termux/FreeBSD) repaired.
🐛 Fixes
- Cyrillic layout: b and other letter commands now work (NUL-byte bug in normalizeKey).
- Git panel no longer "inherits" an unrelated project repo for files outside the repository.
- Packaging paths and man-page locations fixed for rpm/pkg builds.
⚠️ Note
Install artifacts (.deb/.rpm/.pkg.tar.zst/Termux) are maintained in-tree via the Makefile — verify on your target systems.