Skip to content

Command-line Flags ​

HUME's command line is small: you configure almost everything in init.scm, not with flags. This page covers the hume command run from a shell. For the in-editor : prompt, see Command mode.

Synopsis ​

sh
hume [OPTIONS] [FILE...]

Arguments ​

ArgumentDescription
FILE...One or more files to open, each optionally suffixed with :LINE or :LINE:COLUMN to place the cursor there, e.g. src/main.rs:42:5. With no arguments, HUME opens a scratch buffer named *scratch*.

You can paste a file:line:col from a compiler, linter or grep straight onto the command line.

  • Line and column are 1-based, matching the line:col the statusline shows. A 0 in either is a startup error.
  • A path that exists on disk as typed always opens as-is, so a file named notes:2024 is never split. Only a path that doesn't exist has a trailing position taken off.
  • The position applies to the pane HUME starts with.

Options ​

FlagDescription
--keys <STREAM>Headless mode: replays the key STREAM against a single FILE on an 80×25 screen, with no terminal, and writes the result to --output. See Headless mode.
--output <PATH>Where headless mode writes the result. Required by and requires --keys. A relative PATH is resolved against the shell's working directory at startup, so a :cd in the key stream does not move it.
--config <FILE>Load configuration from FILE instead of the default init.scm. Themes and the data directory still resolve from the standard directories (see Configuration). FILE must exist and be readable. A relative FILE is resolved at startup, and :reload-config re-reads that same path, even after a :cd. Not valid with --no-config.
--no-configSkip init.scm: no plugins, no keybindings or settings from your config. Language detection and syntax highlighting still work. Useful to rule out your config while tracking down a bug. :reload-config refuses to run for the rest of the session. Not valid with --config.
-h, --helpPrint help and exit.
-V, --versionPrint the HUME version (e.g. hume x.y.z) and exit. :version shows the same string inside the editor.

Headless mode ​

--keys runs HUME without a terminal: it opens FILE (which can carry :LINE or :LINE:COLUMN), types the key stream into it, and writes the resulting text to --output. It loads your init.scm and plugins as an interactive session does; add --no-config for a run that doesn't depend on your config. Every message HUME logs goes to stderr, trace detail included, and any error makes hume exit with status 1. If your config or a plugin fails to load, no keys are replayed and --output is not written.

In the key stream every character is one keystroke, a space included. Other keys go in angle brackets: <esc>, <ret> (or <enter>), <tab>, <backspace>, <up>, <pageup>, <f1> and so on, with modifiers as <c-x> (Ctrl), <a-x> (Alt) and <s-tab> (Shift). <lt> types a literal <.

Environment ​

HUME_RUNTIME points HUME at a different runtime directory (see Configuration). HUME has no flags for the log level or the theme. Logging is in memory only; read it with :messages (see Files & Buffers).

Examples ​

sh
hume README.md                # open a file
hume src/a.rs src/b.rs        # open multiple files
hume src/main.rs:42           # open at line 42
hume src/main.rs:42:5         # open at line 42, column 5
hume                          # scratch buffer
hume --version
hume --keys 'dwwx' --output out.txt --no-config in.txt   # headless replay, no config
hume --config ./demo.scm README.md                        # load an alternate init.scm
hume --no-config README.md                                # start with no plugins/keybindings

Released under the MIT License.