From edc449275b6c04445f58b108ca0937a87c1e8430 Mon Sep 17 00:00:00 2001 From: Aditya Date: Mon, 27 Feb 2023 20:04:56 +0530 Subject: add zsh --- oh-my-zsh/plugins/man/man.plugin.zsh | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 oh-my-zsh/plugins/man/man.plugin.zsh (limited to 'oh-my-zsh/plugins/man/man.plugin.zsh') diff --git a/oh-my-zsh/plugins/man/man.plugin.zsh b/oh-my-zsh/plugins/man/man.plugin.zsh new file mode 100644 index 0000000..dcba613 --- /dev/null +++ b/oh-my-zsh/plugins/man/man.plugin.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------ +# Author +# ------ +# +# * Jerry Ling +# +# ------------------------------------------------------------------------------ +# Usage +# ----- +# +# man will be inserted before the command +# +# ------------------------------------------------------------------------------ + +man-command-line() { + # if there is no command typed, use the last command + [[ -z "$BUFFER" ]] && zle up-history + + # if typed command begins with man, do nothing + [[ "$BUFFER" = man\ * ]] && return + + # get command and possible subcommand + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags + local -a args + args=(${${(Az)BUFFER}[1]} ${${(Az)BUFFER}[2]}) + + # check if man page exists for command and first argument + if man "${args[1]}-${args[2]}" >/dev/null 2>&1; then + BUFFER="man $args" + else + BUFFER="man ${args[1]}" + fi +} + +zle -N man-command-line +# Defined shortcut keys: [Esc]man +bindkey "\e"man man-command-line -- cgit v1.2.3