80 lines
1.6 KiB
Bash
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
|
|
}
|