-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_functions
executable file
·73 lines (57 loc) · 1.43 KB
/
_functions
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
#!/bin/sh
add_torrent() {
transmission-remote -a ${@:-"`xsel -o`"}
}
parse_git_branch(){
git rev-parse --abbrev-ref HEAD
}
parse_git_upstream() {
git rev-list --count `git for-each-ref --format='%(upstream:short)'`..HEAD
}
parse_svn_rev(){
svn info | sed -n 's/Revision: //p';
}
mkcd() {
mkdir -p $1 && cd $1
}
backup() {
for i in $@; do
cp -- "$i{,~}"
done
}
venv() {
venv_dir=$HOME/.venv
if [ ! x"" = x"$P_VENV_DIR" ]; then
venv_dir=$P_VENV_DIR
fi
if [ ! -e $venv_dir/$1 ]; then
(
cd $venv_dir
virtualenv $@
)
fi
if [ ! -d $venv_dir/$1 ]; then
echo $venv_dir/$1 already exists and is not a directory
return 1
fi
source $venv_dir/$1/bin/activate
}
termite_change_color() {
termite_dir="${XDG_CONFIG_HOME:-$HOME/.config}/termite"
termite_col="$1"
[ $# -gt 1 ] && echo "Usage: ${0##*/} COLOR" && return
if [ $# -eq 1 ] && [ ! -r "${termite_dir}/${termite_col}" ]; then
echo "${termite_dir}/${termite_col} cannot be read."
echo "Usage: ${0##*/} COLOR"
return
fi
cat "${termite_dir}/base" > "${termite_dir}/config"
[ -f "${termite_dir}/${termite_col}" ] && \
cat "${termite_dir}/${termite_col}" >> "${termite_dir}/config"
}
gen_password() {
cat /dev/urandom | base64 | head -c ${1:-8}
}
if [ -r $HOME/.functions.local ]; then
. $HOME/.functions.local
fi