prefixe
Prepend validated prefixes to shell commands, with support for confirmed mappings and speculative candidate learning.
Designed as the core library for coursers /
rx prefix config integration.
What it does
- Reads a TOML prefix config (
~/.config/rx/prefixes.tomlby default) - Rewrites shell command strings by prepending a known prefix to each segment
- Supports compound commands split on
&&,||,;,| - Tracks speculative "candidate" probes for learning new mappings on success
- Exposes
PrefixStoreandProbeStoretraits for easy testing and substitution
Usage
use ;
let store = FilePrefixStore ;
let config = store.load;
let result = rewrite_command;
println!;
// → "op plugin run -- gh issue list && op plugin run -- gh pr list"
Config format
~/.config/rx/prefixes.toml:
[]
= ["op", "plugin", "run", "--"]
= ["dotenvx", "run", "--"]
[[]]
= [["op", "run", "--"]]
= true
Environment variables
| Variable | Default | Purpose |
|---|---|---|
CRS_RX_PREFIXES |
$XDG_CONFIG_HOME/rx/prefixes.toml |
Override prefix config path |
CRS_CTX_DIR |
.ctx |
Directory for probe state |
License
MIT OR Apache-2.0