dotfiles/zsh/func/mkrs

80 lines
1.6 KiB
Bash

#!/bin/zsh
# vim:ft=zsh
[[ -e $HOME/.shell-functions ]] && source $HOME/.shell-functions
mkcodemod()
{
local opts='cmph'
local funcname=$0
_usage() { echo "Usage: $funcname [-$opts] mod_name [mod_name] ..." 1>&2 }
if [[ ${#@} -lt 2 ]]; then
echo "Insufficient number of arguments" 1>&2
_usage
return -1
fi
local opt
local complete=0
local srcext=''
local headext=''
local modtype=''
while getopts $opts opt; do
[[ $complete -eq 1 ]] && return 2
case $opt in
c)
modtype='C'
srcext='c'
headext='h'
;;
m)
modtype='Objective-C'
srcext='m'
headext='h'
;;
p)
modtype='Python'
srcext='py'
;;
h)
_usage
return 0
;;
*)
echo "Invalid argument: $opt" 1>&2
_usage
return 1
;;
esac
complete=1
done
if [[ -z $opt ]]; then
_usage
return -1
fi
print_info "Creating $modtype modules"
for mod in $@[$OPTIND,${#@}]; do
print_info_sub $mod
[[ -n $srcext ]] && touch $mod.$srcext
[[ -n $headext ]] && touch $mod.$headext
done
unfunction _usage
return 0
}
# Make a Maildir directory.
mkmdir()
{
if [[ -z $1 || $1 == "" ]]; then
echo "Usage: $0 mdir_name"
else
mkdir -p $1/{new,cur,tmp}
fi
}