-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpo-functions.sh
executable file
·158 lines (129 loc) · 2.93 KB
/
po-functions.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#!/bin/bash
# ===========================================================================
# FUNCTIONS
# ===========================================================================
po_show_help() {
cat $HELP
}
po_option_error_banner () {
echo
echo " ==================================="
echo " * *"
echo " * ERROR -- Invalid options. *"
echo " ==================================="
echo
}
po_create_scratch() {
RANDNAME="scratch-$RANDOM"
tmux new-session -s $RANDNAME
}
po_create_session() {
FILE="$TM_PATH/$SESSION.yml"
TEMPLATE="$TM_PATH/templates/template.yml"
if [ -e $FILE ]
then
echo "Session launcher already exists. Try editing instead."
else
cat $TEMPLATE > $FILE
vim $FILE
fi
}
po_attach_session() {
echo "trying to attach to: $SESSION"
tmux attach -t $SESSION
}
po_display_configuration () {
FILE="$TM_PATH/$SESSION.yml"
if [ -e $FILE ]
then
echo "----------------------------------------"
cat $FILE
echo "----------------------------------------"
echo
else
echo "Configuration file does not exist."
echo "Please provide a valid configuration."
echo
fi
}
po_detach_session() {
tmux detach
}
po_edit_configuration () {
FILE="$TM_PATH/$SESSION.yml"
if [ -e $FILE ]
then
echo "----------------------------------------"
vim $FILE
echo "----------------------------------------"
echo
else
echo "Configuration file does not exist."
echo "Please provide a valid configuration."
echo
fi
}
po_show_running() {
echo "These projects currently running: "
echo
tmux list-sessions | cut -d : -f 1 | xargs -n 1 echo " * "
echo
}
po_show_restart() {
echo "The projects currently in the RESTART list: "
echo
cat $RESTART_FILE
echo
}
po_open_one() {
echo "opening session $SESSION ..."
tmuxinator $SESSION
}
po_open_group () {
FILE="$PO_GROUPS/$GROUP.list"
echo "opening project-group ..."
cat $FILE | xargs -n 1 tmuxinator
}
po_display_groups() {
ls -al $PO_GROUPS
echo
}
po_display_launchers() {
echo
echo "----------------------------------------"
if [ $GROUP = 'all' ]
then
echo "listing all available launchers ..."
po_list_all
else
echo "listing the launchers in group $GROUP ..."
po_list_group
fi
echo
}
po_list_all () {
tmuxinator list | xargs -n 1
}
po_list_group () {
cat $PO_GROUPS/$GROUP.list | xargs -n 1 echo " * "
}
po_save_running_sessions () {
tmux list-sessions | cut -d : -f 1 > $RESTART_FILE
}
po_open_restart_list () {
cat $RESTART_FILE | xargs -n 1 tmuxinator start
}
po_stop_one () {
echo "terminate project: $SESSION"
# tmuxinator stop $SESSION
tmux kill-session -t $SESSION
}
po_stop_group () {
echo "terminate group: $GROUP ..."
cat $PO_GROUPS/projects/$GROUP.list
}
po_stop_all () {
echo "terminate server and all open sessions ..."
# kill the tmux server and destroy all sessions
tmux kill-server
}