commit - 9b5bb83430f06d79eaa26391f0ad48e175f95fec
commit + a337234298da4f5028b7dcaa8991b9ff6bce7b5a
blob - 09b1f9c69a4939ede9d7bf416cc58d2f30dfc6e8
blob + 2747e277cbf4592271217faf9ae42a07e43bb7e6
--- nwpg.ksh
+++ nwpg.ksh
integer dir_flag=0
integer lang_flag=0
-#needs to be fixed (option can be passed using -lPython)
-if [[ $COUNT_ARGS -eq 1 || $COUNT_ARGS -eq 3 || $COUNT_ARGS -eq 5 ]]
-then
- eval project_title=\${$#} ;
-else
- echo $USAGE;
- exit 2 ;
-fi
+main() {
-create_project() {
+ #needs to be fixed (option can be passed using -lPython)
+ if [[ $COUNT_ARGS -eq 1 || $COUNT_ARGS -eq 3 || $COUNT_ARGS -eq 5 ]]
+ then
+ eval project_title=\${$#} ;
+ else
+ echo $USAGE;
+ exit 2 ;
+ fi
+
+ # Create project dir/files
if ! test -d "$PROJECT_FULL_PATH" ; then mkdir -p "$PROJECT_FULL_PATH"
else echo "$PROJECT_FULL_PATH already exists"
fi
echo "$FILE_EXT files created in $PROJECT_FULL_PATH"
}
+die() { rc=$1; shift; warn "$@"; exit "$rc"; }
+warn() { printf '%s: %s\n' "${0##*/}" "$*" >&2; }
+usage() { printf 'usage: %s %s\n' "${0##*/}" "$*"; exit; }
+version() { printf '%s\n' "$version"; exit; }
+
+parse_options() {
+ # Skip the first argument, which is optstring for getopts.
+ OPTIND=2
+
+ for o in $1; do unset "opt_${o%:}"; done
+
+ while getopts ":$1" o; do
+ case $o in
+ :) die 1 "option requires an argument -- $OPTARG" ;;
+ \?) die 1 "unknown option -- $OPTARG" ;;
+ *) eval "opt_$o=\$((opt_$o + 1)) arg_$o=\$OPTARG" ;;
+ esac
+ done
+
+ unset o
+}
+
+#obsolete
while getopts 'l:d:' opt ;
do
case $opt in
done
shift $(($OPTIND - 1))
+#needs to be fixed
if [ $dir_flag -eq 1 ]
then
PROJECT_FULL_PATH="$directory/$project_title" ;
language="$DEFAULT_LANGUAGE" ;
fi
+#needs to be refactored
case "$language" in
C | c )
FILE_EXT="c" ;;
exit 2 ;;
esac
-create_project
+main "$@"