aboutsummaryrefslogtreecommitdiff
path: root/scripts/open-project.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xscripts/open-project.sh28
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";
+