# HG changeset patch
# User František Kučera <franta-hg@frantovo.cz>
# Date 1605316231 -3600
# Node ID bf2240a0471dd5978fcb406078944760882d6034
# Parent  e4900596abdb8e2a59cbc2b88ba03b469435ddad
Bash completion script

diff -r e4900596abdb -r bf2240a0471d scripts/bash-completion.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/bash-completion.sh	Sat Nov 14 02:10:31 2020 +0100
@@ -0,0 +1,66 @@
+# Alt2XML
+# Copyright © 2020 František Kučera (Frantovo.cz, GlobalCode.info)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+_alt2xml_completion() {
+	local w0 w1 w2 w3
+
+	COMPREPLY=()
+	w0=${COMP_WORDS[COMP_CWORD]}
+	w1=${COMP_WORDS[COMP_CWORD-1]}
+	w2=${COMP_WORDS[COMP_CWORD-2]}
+	w3=${COMP_WORDS[COMP_CWORD-3]}
+
+	BOOLEAN=(
+		"true"
+		"false"
+	)
+
+	ACTION=(
+		"xml"
+		"xpath"
+		"xslt"
+	)
+
+
+	if   [[ "$w1" == "--input-file"	                                    ]];    then compopt -o default; COMPREPLY=()
+	elif [[ "$w1" == "--system-id"                     && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w1" == "--input-url"                     && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w1" == "--reader-property"               && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w2" == "--reader-property"               && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w1" == "--reader-feature"                && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w2" == "--reader-feature"                && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w1" == "--reader-namespace-aware"                         ]];    then COMPREPLY=($(compgen -W "${BOOLEAN[*]}" -- "$w0"))
+	elif [[ "$w1" == "--action"                                         ]];    then COMPREPLY=($(compgen -W "${ACTION[*]}"  -- "$w0"))
+	elif [[ "$w1" == "--action-property"               && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w2" == "--action-property"               && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	elif [[ "$w1" == "--"                              && "x$w0" == "x" ]];    then COMPREPLY=("''")
+	else
+		OPTIONS=(
+			"--input-file"
+			"--input-stdin"
+			"--system-id"
+			"--input-url"
+			"--reader-property"
+			"--reader-feature"
+			"--reader-namespace-aware"
+			"--action"
+			"--action-property"
+			"--"
+		)
+		COMPREPLY=($(compgen -W "${OPTIONS[*]}" -- "$w0"))
+	fi
+}
+
+complete -F _alt2xml_completion alt2xml