commit 9b5bb83430f06d79eaa26391f0ad48e175f95fec from: Sylvain Saboua date: Sat Sep 12 06:59:29 2026 UTC Beginning fixes/refactor as per u/Schreq's help on r/suckless 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 +