You're reading docs for unreleased changes —  switch to v0.15.0.
Skip to content

Installation ​

HUME is a single binary with no runtime dependencies. Download it, run it, and you have an editor. Syntax highlighting and language servers are added later, on demand, only for the languages you actually use.

Download ​

Grab the latest release from the releases page. The newest tagged version is the one most people want; a nightly build is also published if you want the newest changes. However keep in mind that the nightly release might be unstable or contain half-finished features.

PlatformArchive
macOS (Apple Silicon)hume-*-aarch64-apple-darwin.tar.gz
Linux (x86_64, glibc 2.39+)hume-*-x86_64-unknown-linux-gnu.tar.gz
Windows (x86_64)hume-*-x86_64-pc-windows-msvc.zip

macOS / Linux ​

Extract and run:

sh
tar xzf hume-*.tar.gz
./hume-*/bin/hume

Or copy it into ~/.local for a single-user install (no sudo needed):

sh
mkdir -p ~/.local && cp -R hume-*/bin hume-*/share ~/.local/

Then make sure ~/.local/bin is on your $PATH:

sh
# Add to ~/.profile if not already there
case ":$PATH:" in
  *":$HOME/.local/bin:"*) ;;
  *) export PATH="$HOME/.local/bin:$PATH" ;;
esac
sh
# Add to ~/.zshrc if not already there
case ":$PATH:" in
  *":$HOME/.local/bin:"*) ;;
  *) export PATH="$HOME/.local/bin:$PATH" ;;
esac
fish
# fish_add_path skips duplicates
fish_add_path $HOME/.local/bin

Or copy it into /usr/local/ for a system-wide install:

sh
cp -R hume-*/bin hume-*/share /usr/local/

macOS: "cannot be opened" dialog

The binaries aren't signed, so Gatekeeper may refuse to run them with a "cannot be opened" dialog. This happens if you extract the archive by double-clicking it in Finder rather than with tar above. Clear the quarantine flag once and it won't come back:

sh
xattr -d com.apple.quarantine hume-*/bin/hume

Windows ​

Extract the .zip, then run hume.exe from inside the extracted folder, or add that folder to your PATH.

Keep the whole extracted folder intact: HUME finds its runtime files (themes, plugins, language definitions) relative to the binary's location: ../share/hume/ next to bin/hume on macOS/Linux, runtime/ next to hume.exe on Windows. Moving just the binary out on its own leaves it without them.

Check it works ​

sh
hume --version

prints something like hume x.y.z-f460770. The same string is available inside the editor with :version.

Building from source ​

Prerequisites: a Rust toolchain. Install one from rustup.rs.

sh
git clone https://github.com/cvlmtg/HUME
cd HUME
cargo build --release
./target/release/hume

Run it from the repository root, as above. HUME picks up the runtime/ directory sitting there.

cargo install needs one extra step

cargo install --git https://github.com/cvlmtg/HUME installs the binary but not the runtime files, so themes, plugins, :tutor, and syntax highlighting won't work. Point HUME at a copy of the runtime/ directory to fix it:

sh
export HUME_RUNTIME=/path/to/HUME/runtime

Syntax highlighting ​

HUME highlights code with tree-sitter, and installs grammars on demand rather than shipping them. That first install needs git, curl, the tree-sitter CLI, and a C compiler on your PATH. See Syntax Highlighting for the walkthrough.

Terminal compatibility ​

HUME targets modern terminals and degrades quietly rather than refusing to start. There is no capability check at launch. You'll get the best results from a terminal that supports:

  • 24-bit true color. Colors are always emitted as RGB. Terminals without true color will show approximate or wrong colors, but HUME still runs.
  • Synchronized output. Sent once per frame to avoid tearing; terminals that don't recognise it ignore it harmlessly.
  • The kitty keyboard protocol. Detected automatically on WezTerm, kitty, ghostty, and foot. It unlocks a handful of extra key combinations. Everything else works without it, and the manual marks those keys "kitty only".

Released under the MIT License.