No description
- Shell 98%
- CSS 2%
| .static/css | add ogvt completions | |
| completions | remove check for mpd binary as it might be in a different location on a different system | |
| extensions | add zpatch, a function to apply a patch file to cwd (lists files in $OHMYPATCHES) | |
| lib | fix load function, does not depend on execution flag | |
| prompts | flesh out docs | |
| .gitignore | ignore cache | |
| LICENSE | initial | |
| ohmy.ksh | flesh out some more fzf features | |
| README.org | fzf has a few features! | |
ohmyksh
About
Have your cake and eat it too!
ohmyksh is a framework for expanding OpenBSD's ksh. It offers:
Completions
Extensions
| Name | Description |
|---|---|
| fonts | Load fonts from common locations. |
| fzf | Set of interactive wrappers for things like packages and shell history. |
| 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. |
| keychain | Wrapper for Funtoo's Keychain utility. |
| nocolor | Disable terminal color options for many tools. |
| openbsd | A set of tools for working with the OpenBSD source trees. |
| pkgup | Utility to speed up OpenBSD' pkg_add(1). |
Prompts
| Name | Example | Extensions used |
|---|---|---|
| q | qbit@litr[0]:~$ |
git-prompt, got |
| plain | litr:~/src/ohmyksh/prompts$ |
- |
| og-openbsd | $ |
- |
| 9 | % |
- |
Example usage
# ohmyksh needs to know where it lives, so we tell it via this env var:
OHMYKSH_DIR=${HOME}/src/ohmyksh
# Now we can load everything up!
. ${OHMYKSH_DIR}/ohmy.ksh
# All the paths we use (in order!)
set -A my_paths -- \
/usr/ports/infrastructure/bin \
~/bin \
~/go/bin \
/usr/local/plan9/bin
paths "${my_paths[@]}"
# Load our various extensions
load_extension fonts
load_extension k
load_extension nocolor
load_extension openbsd
# Load handy completions for various things
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
Contributing
Contributions can be sent in via Github PRs or via emailing a patch to ~qbit/ohmyksh@lists.sr.ht.
If you do send in a contribution, please include a .org file which describes the feature set. The org syntax is available here, however, one will likely be able to just copy an existing file and modify it.