diff options
-rw-r--r-- | README | 28 | ||||
-rw-r--r-- | japh | 45 |
2 files changed, 73 insertions, 0 deletions
@@ -0,0 +1,28 @@ +# JAPH - Jackson's Awesome Project Helper + +## Purpose +Japh is a command line utility to help with manuevering your files +and building project specific commands. + +## Installation +You will need to `source` the japh file from inside your +`$HOME/.bashrc` wherever you have it installed. + +You also need to make sure that you have write access to the directory that +japh is stored. For now, it simply puts all the commands it makes into a file +called `cmds` in the same directory. + +## What is a command? +These are functions that japh runs based on user input. I.E. changing +directories, running build commands, etc. + +## Usage +- Add a new project +``` +[bashprompt] $ japh add projectname +``` +- Switch to a project +``` +[bashprompt] $ japh projectname +``` + @@ -0,0 +1,45 @@ +#!/bin/bash + +# Jackson's Awesome Project Helper +# Jackson Taylor - 12/2/2020 +# See README for more information + +JAPH_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +CMD_FILE="$JAPH_DIR/cmds" + +function japh() { + case $1 in + "add") + dir=$(pwd) + printf "function cd_$2() { cd \"$dir\"; }\n" >> $JAPH_DIR/cmds + echo "project added!" + ;; + "help" | "-h") + japh_usage + ;; + *) + if [ ! -z $1 ]; + then + source $JAPH_DIR/cmds + type cd_$1 &> /dev/null + status=$? + + if [ $status -eq 0 ]; + then + cd_$1 + else + echo "Command was not found!" + japh_usage + fi + else + japh_usage + fi + ;; + esac +} + +function japh_usage() { + printf "JAPH - Jackson's Awesome Project Helper\n" + printf "japh add \$projectName - Add current directory to japh's list as \$projectName\n" + printf "japh \$projectName - cd to project directory\n" +} |