Commit Diff


commit - 4465e20ce7fc0029dc886e2f5748ac9ef2ed0f59
commit + 9b5bb83430f06d79eaa26391f0ad48e175f95fec
blob - c2ac497b406d22a09221f8ff7fd6ccc39818664d (mode 644)
blob + 09b1f9c69a4939ede9d7bf416cc58d2f30dfc6e8 (mode 755)
--- nwpg.ksh
+++ nwpg.ksh
@@ -1,8 +1,8 @@
 #!/bin/ksh
 
-PROGRAM_NAME="nwpg" ;
-PROGRAM_VERSION="0.2" ;
-USAGE="usage: nwpg [-l language] [-d directory] project_title" ;
+PROGRAM_NAME="nwpg"
+PROGRAM_VERSION="0.2"
+USAGE="usage: nwpg [-l language] [-d directory] [project_title]"
 
 #		nwpg (NeW ProGram) - pdksh/ksh88 version
 #	Simple script that initiates a new project
@@ -13,12 +13,13 @@ USAGE="usage: nwpg [-l language] [-d directory] projec
 #	i.e. main.algo, main.c, main.md 
 # 
 
-DEFAULT_DIR="$HOME/hax/" ;
-DEFAULT_LANGUAGE="C" ;
-COUNT_ARGS="$#";
-integer dir_flag=0 ;
-integer lang_flag=0 ;
+DEFAULT_DIR="$HOME/hax"
+DEFAULT_LANGUAGE="C"
+COUNT_ARGS="$#"
+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=\${$#} ;
@@ -27,6 +28,21 @@ else
 	exit 2 ;
 fi
 
+create_project() {
+	if ! test -d "$PROJECT_FULL_PATH" ; then mkdir -p "$PROJECT_FULL_PATH"
+	else echo "$PROJECT_FULL_PATH already exists"
+	fi
+	if ! test -a "$PROJECT_FULL_PATH/main.$FILE_EXT" ; then
+		touch "$PROJECT_FULL_PATH/main.$FILE_EXT"
+		if [ -n "$SHEBANG" ] ; then
+			echo "$SHEBANG\n" >> "$PROJECT_FULL_PATH/main.$FILE_EXT"
+		fi
+	fi
+	if ! test -a "$PROJECT_FULL_PATH/main.algo" ; then touch "$PROJECT_FULL_PATH/main.algo" ; fi
+	if ! test -a "$PROJECT_FULL_PATH/main.md" ; then touch "$PROJECT_FULL_PATH/main.md" ; fi
+	echo "$FILE_EXT files created in $PROJECT_FULL_PATH"
+}
+
 while getopts 'l:d:' opt ;
 do
 	case $opt in
@@ -68,7 +84,7 @@ case "$language" in
 	Shell | sh )
 		SHEBANG="#!/bin/sh" ;
 		FILE_EXT="sh" ;;
-	PYTHON | RUST | RUBY )
+	PYTHON | RUST | RUBY | SHELL )
 		echo "Don't shout !\n" ;
 		exit 2 ;;
 	* )
@@ -76,10 +92,5 @@ case "$language" in
 		exit 2 ;;
 esac
 
-mkdir -p "$PROJECT_FULL_PATH" ;
-touch "$PROJECT_FULL_PATH/"main.{$FILE_EXT,algo,md} ;
-if [ -n "$SHEBANG" ]
-then
-	echo "$SHEBANG\n" >> "$PROJECT_FULL_PATH/main.$FILE_EXT" ;
-fi
-echo "$FILE_EXT files created in $PROJECT_FULL_PATH" ;
\ No newline at end of file
+create_project
+