diff options
Diffstat (limited to 'scripts/open-project.sh')
| -rwxr-xr-x | scripts/open-project.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/open-project.sh b/scripts/open-project.sh new file mode 100755 index 0000000..d452655 --- /dev/null +++ b/scripts/open-project.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +PROJECTS_DIR="$HOME/dev/projects"; +SUCKLESS_DIR="$HOME/.config/suckless"; + +get_projects() { + ls -t "$PROJECTS_DIR" | sed 's/^/dev:/g'; + ls -t "$SUCKLESS_DIR" | sed 's/^/suckless:/g'; +} + +project=$(get_projects | dmenu -p "Project name :: "); + +if [ -z "$project" ]; then + exit 1; +fi; + +projtype=$(echo "$project" | cut -d: -f1); +projdir=$(echo "$project" | cut -d: -f2-); + +fulldir=""; + +case "$projtype" in + dev) fulldir="$PROJECTS_DIR/$projdir" ;; + suckless) fulldir="$SUCKLESS_DIR/$projdir" ;; +esac + +[ ! -z "$fulldir" ] && [ -d "$fulldir" ] && ~/scripts/sessions/project.sh "$fulldir"; + |
