summaryrefslogtreecommitdiff
path: root/01_Functions.zsh
blob: 810a04ed53174c34d60ff78b5b9a8559f3cc2bac (plain)
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
##
## Part of configuration files for Zsh 4
## by Hugues Hiegel <hugues@hiegel.fr>
## 
## NO WARRANTY PROVIDED, USE AT YOUR OWN RISKS
##
## You are encouraged to use, modify, and redistribute
## these files with or without this notice.
## 


cmd_exists ()
{
	which $1 2>/dev/null >&2
}

get_git_branch ()
{
	echo $(git branch 2>&- | grep -E '^\* ' | cut -c3-)
}

get_git_status ()
{
	## GIT TRACKING ##
	if [ "$GITCHECK" != "" ]
	then
		GITBRANCH=$(get_git_branch);
		if [ "$GITBRANCH" != "" ]
		then
			preprint "Checking git status..."
			_git_status=$(git-runstatus 2>&- | grep -E '^# ([[:alpha:]]+ )+(but not|to be)( [[:alpha:]]+)+:$')
			if   [ "$(grep "but not" <<< $_git_status)" != "" ] ; then 
				COLOR_GIT=$COLOR_NOT_UP_TODATE
			elif [ "$(grep "to be committed" <<< $_git_status)" != "" ] ; then 
				COLOR_GIT=$COLOR_TOBE_COMMITED
			else
				COLOR_GIT=$COLOR_BRANCH_OR_REV
			fi

		fi
	fi
	GitBranch=${GITBRANCH:+:$GITBRANCH}
	GITBRANCH=${GITBRANCH:+$C_$COLOR_DOUBLEDOT$_C:$C_$COLOR_GIT$_C$GITBRANCH}
}

normal_user ()
{
	if [ -e /etc/login.defs ]
	then
		eval `grep -v '^[$#]' /etc/login.defs | grep "^UID_" | tr -d '[:blank:]' | sed 's/^[A-Z_]\+/&=/'`
		[ \( $UID -ge $UID_MIN \) -a \( $UID -le $UID_MAX \) ]
	else
		[ "`whoami`" != "root" ]
	fi
}

privileged_user ()
{
	! normal_user
}