Skip to content
Snippets Groups Projects
Commit ba5f79a8 authored by Mark OLESEN's avatar Mark OLESEN
Browse files

ENH: suppress unset -f warnings for bash completions

parent 49500b01
Branches
Tags
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM.
# #
...@@ -50,6 +50,7 @@ USAGE ...@@ -50,6 +50,7 @@ USAGE
exit 1 exit 1
} }
unset outFile
searchDirs="$FOAM_APPBIN $FOAM_USER_APPBIN" searchDirs="$FOAM_APPBIN $FOAM_USER_APPBIN"
while [ "$#" -gt 0 ] while [ "$#" -gt 0 ]
do do
...@@ -73,15 +74,15 @@ do ...@@ -73,15 +74,15 @@ do
shift shift
done done
[ -z $outFile ] && usage [ -n "$outFile" ] || usage
\rm -f $outFile \rm -f $outFile
touch $outFile touch $outFile
writeFilterFunction() writeFilterFunction()
{ {
cat<<WRITEFILTER >> $1 cat<< WRITEFILTER >> $1
unset -f _filter_opts unset -f _filter_opts 2>/dev/null
_filter_opts() _filter_opts()
{ {
local allOpts=\$1 local allOpts=\$1
...@@ -136,17 +137,27 @@ commonOptions() ...@@ -136,17 +137,27 @@ commonOptions()
} }
# Generate header
cat << HEADER > $outFile
#----------------------------------*-sh-*--------------------------------------
# Bash completions for OpenFOAM applications
HEADER
writeFilterFunction $outFile writeFilterFunction $outFile
for dir in ${searchDirs} for dir in ${searchDirs}
do do
echo "Processing directory $dir" echo "Processing directory $dir" 1>&2
apps=($(\ls $dir)) # Sort with ignore-case
for appName in "${apps[@]}"; do apps=($(\ls $dir | sort -f))
for appName in "${apps[@]}"
do
[ -f "$dir/$appName" -a -x "$dir/$appName" ] || continue
appHelp=$($appName -help) appHelp=$($appName -help)
echo "Processing $appName" echo "Processing $appName" 1>&2
# Options with args # Options with args
optsWithArgs=($(awk '/^ {0,4}-[a-z]/ && /</ {print $1}' <<< "$appHelp")) optsWithArgs=($(awk '/^ {0,4}-[a-z]/ && /</ {print $1}' <<< "$appHelp"))
...@@ -155,7 +166,7 @@ do ...@@ -155,7 +166,7 @@ do
opts=($(awk '/^ {0,4}-[a-z]/ && !/</ {print $1}' <<< "$appHelp")) opts=($(awk '/^ {0,4}-[a-z]/ && !/</ {print $1}' <<< "$appHelp"))
cat<<WRITECOMPLETION >> $outFile cat<<WRITECOMPLETION >> $outFile
unset -f _${appName} unset -f _${appName} 2>/dev/null
_${appName}() _${appName}()
{ {
local cur="\${COMP_WORDS[COMP_CWORD]}" local cur="\${COMP_WORDS[COMP_CWORD]}"
...@@ -189,7 +200,11 @@ WRITECOMPLETION ...@@ -189,7 +200,11 @@ WRITECOMPLETION
done done
done done
unset searchDirs writeFilterFunction commonOptions
# Generate footer
cat << FOOTER >> $outFile
#------------------------------------------------------------------------------
FOOTER
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
This diff is collapsed.
...@@ -169,7 +169,7 @@ then ...@@ -169,7 +169,7 @@ then
fi fi
unset -f _foamParaviewEval unset -f _foamParaviewEval 2> /dev/null
unset cleaned cmake cmake_version pvName pvMajor pvLibDir pvPython unset cleaned cmake cmake_version pvName pvMajor pvLibDir pvPython
unset ParaView_MAJOR unset ParaView_MAJOR
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment