[Bash-completion-commits] [SCM] bash-completion branch, master, updated. eced7126a30bb62c49924f0b2dc61f0131317c00

Guillaume Rousse guillomovitch at zarb.org
Sun May 17 20:13:21 UTC 2009


The following commit has been merged in the master branch:
commit 36e848a9460dcdb21eff464d22ce5d9ebbad0e3f
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date:   Sun May 17 22:05:54 2009 +0200

    split gdb completion

diff --git a/bash_completion b/bash_completion
index 49c7941..d3c9ceb 100644
--- a/bash_completion
+++ b/bash_completion
@@ -3969,43 +3969,6 @@ _openssl()
 complete -F _openssl $default openssl
 }
 
-# gdb(1) completion
-#
-have gdb &&
-_gdb()
-{
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		local IFS
-		if [[ "$cur" == */* ]]; then
-			# compgen -c works as expected if $cur contains any slashes.
-			IFS=$'\n'
-			COMPREPLY=( $( PATH="$PATH:." compgen -d -c -- "$cur" ) )
-		else
-			# otherwise compgen -c contains Bash's built-in commands,
-			# functions and aliases. Thus we need to retrieve the program
-			# names manually.
-			IFS=":"
-			local path_array=( $(echo "$PATH" | sed 's/::\+/:/g;s/^:\|:$//g') )
-			IFS=$'\n'
-			COMPREPLY=( $( compgen -d -W '$(find "${path_array[@]}" . \
-				-mindepth 1 -maxdepth 1 -not -type d -executable -printf "%f\\n" 2>/dev/null)' \
-				-- "$cur" ) )
-		fi
-	elif [ $COMP_CWORD -eq 2 ]; then
-		prev=${prev##*/}
-		COMPREPLY=( $( compgen -fW "$( command ps axo comm,pid | \
-				awk '{if ($1 ~ /^'"$prev"'/) print $2}' ) )" \
-				-- "$cur" ) )
-	fi
-} &&
-complete -F _gdb $default gdb
-
 # Postgresql completion
 #
 have psql && {
diff --git a/contrib/gdb b/contrib/gdb
new file mode 100644
index 0000000..7849f4f
--- /dev/null
+++ b/contrib/gdb
@@ -0,0 +1,39 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for gdb
+
+have gdb &&
+_gdb()
+{
+	local cur prev
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	if [ $COMP_CWORD -eq 1 ]; then
+		local IFS
+		if [[ "$cur" == */* ]]; then
+			# compgen -c works as expected if $cur contains any slashes.
+			IFS=$'\n'
+			COMPREPLY=( $( PATH="$PATH:." compgen -d -c -- "$cur" ) )
+		else
+			# otherwise compgen -c contains Bash's built-in commands,
+			# functions and aliases. Thus we need to retrieve the program
+			# names manually.
+			IFS=":"
+			local path_array=( $(echo "$PATH" | sed 's/::\+/:/g;s/^:\|:$//g') )
+			IFS=$'\n'
+			COMPREPLY=( $( compgen -d -W '$(find "${path_array[@]}" . \
+				-mindepth 1 -maxdepth 1 -not -type d -executable -printf "%f\\n" 2>/dev/null)' \
+				-- "$cur" ) )
+		fi
+	elif [ $COMP_CWORD -eq 2 ]; then
+		prev=${prev##*/}
+		COMPREPLY=( $( compgen -fW "$( command ps axo comm,pid | \
+				awk '{if ($1 ~ /^'"$prev"'/) print $2}' ) )" \
+				-- "$cur" ) )
+	fi
+} &&
+complete -F _gdb $default gdb

-- 
bash-completion



More information about the Bash-completion-commits mailing list