Shell prompt segments in Go

2b7b889 README.md: go install

~fmac pushed to ~fmac/corylus git

3 months ago

b55523c mv corylus/main.go out of cmd/

~fmac pushed to ~fmac/corylus git

3 months ago


Simple shell prompt generator in Go.


Corylus expects strings as arguments.

If an argument matches the name of a known segment generator, then the result will be appended.

If an argument does not match any generator then it is appended as string.

Edit the prompt variable in your shell configuration file, probably .bashrc, .zshrc or .profile.

For ZSH you may need to enable the prompt expansion by adding setopt PROMPT_SUBST to your .zshrc.

At the moment the available segments are:

  • cwd
  • cwd-count
  • hostname
  • tail
  • time-unix
  • username

Here is an example with some colors.

PS1='$(corylus \
	"[" hostname "] " \
	"\033[34m" username "\033[0m " \
	"\033[31m $? \033[0m " \
	"\033[35m" cwd "\033[0m " \
	"[" cwd-count " files] " \
	"[" time-unix "]" \

Which outputs with this format:

[maze] fmac  0  ~/r/c/.git [13 files] [1620754137]


go install git.sr.ht/~fmac/corylus@latest


Of course you are free to send me a git-email with a patch that adds new segments.