#!/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 }