-
Notifications
You must be signed in to change notification settings - Fork 125
/
bash_completion
111 lines (101 loc) · 3.09 KB
/
bash_completion
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
# -*- shell-script -*-
. ${OPA_SOURCE_DIR:-$(dirname $0)/../..}/platform_helper.sh
_test_sh()
{
COMPREPLY=()
local cur=${COMP_WORDS[COMP_CWORD]}
echo $PWD | grep -q reftester
if [ $? -eq 0 ] ; then
REFTESTER_DIR=.
else
REFTESTER_DIR=reftester
fi
benches=$(ls $REFTESTER_DIR/benches/*.bench | xargs -I {} basename {} .bench)
COMPREPLY=( $(compgen -W "$benches" -- ${cur}) )
}
complete -F _test_sh test.sh
mlset () {
if [ $# -eq 0 ]; then
for x in $(set | grep -a "^MLSTATE_" | sed 's/^MLSTATE_//'); do
IFS="=" read a b <<<"$x"; tr "[:upper:]\n" "[:lower:]=" <<<"$a"; echo "$b"
done
else
while [ $# -gt 0 ]; do
case $1 in
-h|--help)
cat <<EOF
mlset: sets MLSTATE debug variables.
Syntax: mlset (var_name[=value])*
Without arguments, lists existing set MLSTATE debug variables
Use lowercase and no MLSTATE_ prefix.
If value is not set, use "1".
EOF
;;
*)
def="$1"
IFS='=' read var value <<<"$def"
if [ "$def" = "$var" ]; then value=1; fi
var="MLSTATE_"$(tr '[:lower:]' '[:upper:]' <<<$var)
export $var="$value"
esac
shift
done
fi
}
mlunset () {
if [ $# -eq 0 ]; then
mlset
else
while [ $# -gt 0 ]; do
case $1 in
-h|--help)
cat <<EOF
mlunset: unsets MLSTATE debug variables.
Syntax: mlunset [OPTION] [var_name]*
Without arguments, lists existing set MLSTATE debug variables
-h, --help display this help and exit
-a, --all unsets every MLSTATE_ variable, and ignore the rest of the command
Use lowercase and no MLSTATE_ prefix.
If the variable is not set, it silently returns.
EOF
;;
-a|-all)
for x in $(set | grep -a "^MLSTATE_" | sed 's/=.*$//'); do
echo "unset $x"
unset $x
done
;;
*)
def="$1"
IFUS='=' read var value <<<"$def"
if [ "$def" = "$var" ]; then value=1; fi
var="MLSTATE_"$(tr '[:lower:]' '[:upper:]' <<<$var)
unset $var
;;
esac
shift
done
fi
}
_mlset ()
{
COMPREPLY=()
local cur=${COMP_WORDS[COMP_CWORD]}
: ${OPA_SOURCE_DIR:=~/opalang}
if [ -e $OPA_SOURCE_DIR/libbase/debugVariables.mli ]; then
vars=$(grep '^val .*: *debug_var' $OPA_SOURCE_DIR/libbase/debugVariables.mli | cut -d' ' -f2)
COMPREPLY=( $(compgen -W "$vars" -- ${cur}) )
else
echo -e "\nmlset completion error: opalang repo not found, please set \$OPA_SOURCE_DIR" >&2
fi
}
_mlunset ()
{
COMPREPLY=()
local cur=${COMP_WORDS[COMP_CWORD]}
: ${OPA_SOURCE_DIR:=~/opalang}
vars=$(set | grep -a "^MLSTATE_" | sed 's/^MLSTATE_//' | tr "[:upper:]" "[:lower:]" | sed 's/=.*$//' )
COMPREPLY=( $(compgen -W "$vars" -- ${cur}) )
}
complete -F _mlset mlset
complete -F _mlunset mlunset