commit 1c2b4bf48b38f21928033de98842cf47604c5a3c
parent aef32197cd1ae38a62df83d097b6f0043beb830d
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 14 Mar 2019 15:18:36 +0100
Fix find for shell scripts, improve help text
Diffstat:
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/links/bin/fffs b/links/bin/fffs
@@ -11,22 +11,21 @@ plugindir="$confdir/lib"
pluginfile="$confdir/plugins"
function show_help {
+ echo "usage: ${0##*/} [OPTION] SHELL COMMAND"
echo "${0##*/} is a fast and simple manager for shell plugins"
- echo "usage: ${0##*/} [OPTIONS] SHELL OPERATION"
echo "where SHELL can be 'bash' or 'zsh'."
- echo "Valid COMMANDS are:"
+ echo "Valid COMMANDs are:"
echo " init clone repositories specified in pluginfile"
echo " update update all local plugin content"
echo " clean remove all local plugin content"
- echo "OPTIONS are one or more of the following:"
+ echo "Valid OPTIONs are:"
echo " -h, --help show this message"
echo " -v, --version show version and license information"
echo
echo "Set the plugin sources as git repository URLs in "
echo "$pluginfile-zsh or $pluginfile-bash"
- echo "${0##*/} will source all files from the repository root directories"
- echo
- echo "Add the generated sources file in the shell-rc file. For ~/.zshrc:"
+ echo "before running 'init'. Afterwards, add the generated sources file in "
+ echo "the shell-rc file. For ~/.zshrc:"
echo " if [ -f \"\$HOME/.config/fffs/lib/zsh/sources\" ]; then"
echo " . \"\$HOME/.config/fffs/lib/zsh/sources\""
echo " else"
@@ -88,8 +87,18 @@ function check_if_source_in_shellrc {
function init_sources {
echo "Generating source file $plugindir/$shell/sources"
echo "#!/usr/bin/env $shell" > "$plugindir/$shell/sources"
- find "$plugindir/$shell/" -maxdepth 2 -type f -iname '*.zsh' \
- | sed 's/^/. /' >> "$plugindir/$shell/sources"
+
+ if [[ "$shell" == "zsh" ]]; then
+ find "$plugindir/$shell/" -maxdepth 2 -type f \
+ -iname '*.zsh' \
+ | sed 's/^/. /' >> "$plugindir/$shell/sources"
+ elif [[ "$shell" == "bash" ]]; then
+ find "$plugindir/$shell/" -maxdepth 2 -type f \
+ -iname '*.sh' -iname '*.bash' \
+ | sed 's/^/. /' >> "$plugindir/$shell/sources"
+ else
+ die "Unknown shell $shell"
+ fi
check_if_source_in_shellrc
}
@@ -107,7 +116,7 @@ function clean {
## Parse command-line arguments
-[[ $# -lt 1 ]] && (show_help && exit 1)
+[[ $# -lt 2 ]] && (show_help && exit 1)
shell=""
while :; do
@@ -142,7 +151,7 @@ while :; do
-v|--version)
(show_version && exit 0)
;;
- -?*)
+ ?*)
die 'Error: Unknown option specified'
;;
*) # No more options