Go to file
2020-08-24 14:54:37 +00:00
completions add completions for mpc 2020-08-19 22:31:53 +00:00
extensions add got-sync, update docs 2020-08-24 14:54:37 +00:00
lib fix "loaded" logic 2020-07-17 07:12:22 -06:00
prompts Add basic PS1 support for got. 2020-08-16 13:58:33 +00:00
.gitignore ignore cache 2020-07-16 08:09:00 -06:00
LICENSE initial 2020-07-15 16:28:24 -06:00
ohmy.ksh add check for OHMYHSK_DIR 2020-07-17 16:41:30 -06:00
README.org Update readme to reflect current extensions/completions 2020-08-24 14:02:24 +00:00

ohmyksh

Have your cake and eat it too!

ohmyksh is a framework for expanding OpenBSD's ksh. It offers:

completions
for common things like man pages, ssh known_hosts and git commands.
extensions
to import bulk functionality, including git-prompt, OpenBSD specific tooling, disabling color.. etc.
prompts
a decent selection of useful prompts.

Completions

Name Completes
git add, fetch…
got add, blame…
gopass audit, config…
man man pages
mpc play, load, toggle…
rc OpenBSD rc scripts and rc commands
ssh ssh known hosts
vmd vmctl commands and VM names

Extensions

Name Description
fonts Load fonts from common locations.
fzf -
git-prompt A port of git-prompt for KSH.
got Adds PS1 support for got, as well as a few helper functions.
k A tool to quickly change directories.
nocolor Disable terminal color options for many tools.
openbsd A set of tools for working with the OpenBSD source trees.

Prompts

Name Example Extensions used
q qbit@litr[0]:~$ git-prompt, got
plain ~ litr:~/src/ohmyksh/prompts$~ -
og-openbsd $ -
9 % -

Example usage

OHMYKSH_DIR=/home/qbit/src/ohmyksh
. ${OHMYKSH_DIR}/ohmy.ksh

set -A my_paths -- \
	/usr/ports/infrastructure/bin \
	~/bin \
	~/go/bin \
	/usr/local/plan9/bin

paths "${my_paths[@]}"

load_extension fonts
load_extension k
load_extension nocolor
load_extension openbsd

load_completion ssh
load_completion vmd
load_completion rc
load_completion gopass
load_completion git

alias vi=vim

# the q prompt auto-loads the git-prompt extension
set_prompt q