From c8531fb384bf1ca4bc2fd916b09b38a5aaf75fd8 Mon Sep 17 00:00:00 2001 From: Kyler Clay Date: Thu, 5 Mar 2026 20:10:06 -0500 Subject: [PATCH] Update README formatting --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 39029a3..d852b4d 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ A Linux shell written in Rust. The name is a nod to the original Unix utilities - **Real-time syntax highlighting** - commands, keywords, strings, variables, redirections, and operators are colored as you type - **Tab completion** - context-aware completion for commands, file paths, and variables +--- + ### Prompt The prompt string supports escape sequences for dynamic content: @@ -40,6 +42,8 @@ export PS1='\u@\h \W \@gitbranch \$ ' Additionally, `echo` now has a `-p` flag that expands prompt escape sequences, similar to how the `-e` flag expands conventional escape sequences. +--- + ### I Can't Believe It's Not `fzf`! `shed` comes with fuzzy completion and history searching out of the box. It has it's own internal fuzzyfinder implementation, so `fzf` is not a dependency. @@ -47,6 +51,7 @@ Additionally, `echo` now has a `-p` flag that expands prompt escape sequences, s shed_comp shed_search +--- ### Keymaps @@ -69,6 +74,8 @@ Use `keymap --remove ` to remove a binding. Shell commands run via keymaps have read-write access to the line editor state through special variables: `$_BUFFER` (current line contents), `$_CURSOR` (cursor position), `$_ANCHOR` (visual selection anchor), and `$_KEYS` (inject key sequences back into the editor). Modifying these variables from within the command updates the editor when it returns. +--- + ### Autocmds The `autocmd` builtin registers shell commands to run on specific events: @@ -94,6 +101,8 @@ Available events: Use `-p ` to filter by regex, and `-c` to clear all autocmds for an event. The pattern matched by `-p` changes by context, and not all autocmds have a pattern to match. +--- + ### Shell Language shed's scripting language contains all of the essentials. @@ -113,6 +122,8 @@ shed's scripting language contains all of the essentials. - **Subshells** - `(...)` for isolated execution - **Variable attributes** - `export`, `local`, `readonly` +--- + ### Job Control - Background execution with `&` @@ -120,6 +131,8 @@ shed's scripting language contains all of the essentials. - `fg`, `bg`, `jobs`, `disown` with flags (`-l`, `-p`, `-r`, `-s`, `-h`, `-a`) - Process group management and proper signal forwarding +--- + ### Configuration Shell options are managed through `shopt`: @@ -134,6 +147,8 @@ shopt core.max_hist=5000 # history size The rc file is loaded from `~/.shedrc` on startup. +--- + ## Building ### Cargo