Skip to content
GitLab
Explore
Sign in
Commits on Source (4)
Improve join_by to support multi character separator
· 10b57ec7
Emeric Verschuur
authored
Jun 30, 2018
10b57ec7
Fix enumeration type to support values with spaces
· a37489af
Emeric Verschuur
authored
Jun 30, 2018
a37489af
Update VERSION and CHANGELOG
· f49c9a03
Emeric Verschuur
authored
Jun 30, 2018
f49c9a03
Merge branch 'fix-enum' into 'master'
· 72fd4d7e
Emeric Verschuur
authored
Jun 30, 2018
Fix enum See merge request
!8
72fd4d7e
Show whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
72fd4d7e
# Changelog
## 2.1.1
*
Fix enumeration type to support values with spaces
*
Improve join_by to support multi character separator
## 2.1.0
*
Improve the help display for big size values
...
...
VERSION
View file @
72fd4d7e
2.
2.0
2.
1.1
bashopts.sh
View file @
72fd4d7e
...
...
@@ -19,7 +19,7 @@
set
-e
BASHOPTS_VERSION
=
2.1.
0
BASHOPTS_VERSION
=
2.1.
1
bashopts_exit_handle
()
{
local
err
=
$?
...
...
@@ -256,7 +256,7 @@ bashopts_declare() {
-l
)
options[long_opt]
=
$1
;
shift
;;
-d
)
options[description]
=
$1
;
shift
;;
-t
)
options[type]
=
$1
;
shift
;;
-e
)
options_enum_values+
=(
$1
)
;
shift
;;
-e
)
options_enum_values+
=(
"
$1
"
)
;
shift
;;
-m
)
options[method]
=
$1
;
shift
;;
-k
)
options[check]
=
$1
;
shift
;;
-s
)
options[setting]
=
"true"
;;
...
...
@@ -280,7 +280,7 @@ bashopts_declare() {
if
[
${#
options_enum_values
[@]
}
-lt
2
]
;
then
bashopts_log C
"bashopts_declare:
${
options
[name]
}
enumeration need at least two elements (two '-e <val>' calls at least)"
fi
options[enum_values]
=
"
$(
IFS
=
$'
\n
'
;
echo
"
${
options_enum_values
[
*
]
}
"
)
"
options[enum_values]
=
"
$(
printf
"%s
\n
"
"
${
options_enum_values
[
@
]
}
"
)
"
;;
s|str|string
)
options[type]
=
"string"
...
...
@@ -387,9 +387,12 @@ bashopts_math_min() {
# join array element
bashopts_join_by
()
{
local
IFS
=
"
$1
"
shift
||
bashopts_log C
"Usage: bashopts_join_by <character> [elt1 [elt2...]]"
echo
"
$*
"
local
sep
=
"
$1
"
shift
||
bashopts_log C
"Usage: bashopts_join_by <separator> [elt1 [elt2...]]"
printf
"%s"
"
$1
"
test
$#
-gt
1
||
return
0
shift
printf
"
$sep
%s"
"
$@
"
}
# dump an option value by its name
...
...