blob: 095efc917387f50ce4eac675a875f206e0e44746 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
From dff2d346e9647fb55c4e0e381572ad1fe82b8715 Mon Sep 17 00:00:00 2001
From: Kyle Anderson <kylea@netflix.com>
Date: Mon, 8 Jun 2020 17:24:18 -0700
Subject: [PATCH] Don't error if git tab completion is not available. Fixes
#1011
---
contrib/tig-completion.bash | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/contrib/tig-completion.bash b/contrib/tig-completion.bash
index 5aef3fd8..54a40ec1 100755
--- a/contrib/tig-completion.bash
+++ b/contrib/tig-completion.bash
@@ -28,6 +28,9 @@
# is performed while the script loads. If git isn't found
# at source time then all lookups will be done on demand,
# which may be slightly slower.
+#
+# 4) This completion file depends on git completion already being
+# loaded. Make sure git-completion.bash happens first.
__tig_options="
-v --version
@@ -93,13 +96,15 @@ if [ -n "$ZSH_VERSION" ]; then
bashcompinit
fi
-# we use internal git-completion functions, so wrap _tig for all necessary
+# we use internal git-completion functions (if available), so wrap _tig for all necessary
# variables (like cword and prev) to be defined
-__git_complete tig _tig
+if type '__git_complete' 2>/dev/null | grep -q 'function'; then
+ __git_complete tig _tig
-# The following are necessary only for Cygwin, and only are needed
-# when the user has tab-completed the executable name and consequently
-# included the '.exe' suffix.
-if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
- __git_complete tig.exe _tig
+ # The following are necessary only for Cygwin, and only are needed
+ # when the user has tab-completed the executable name and consequently
+ # included the '.exe' suffix.
+ if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
+ __git_complete tig.exe _tig
+ fi
fi
|