summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/dependencies.yml2
-rw-r--r--plugins/gitfast/MANUAL.adoc40
-rw-r--r--plugins/gitfast/_git18
-rw-r--r--plugins/gitfast/git-completion.bash2
4 files changed, 46 insertions, 16 deletions
diff --git a/.github/dependencies.yml b/.github/dependencies.yml
index 2c92aee52..02995d6cd 100644
--- a/.github/dependencies.yml
+++ b/.github/dependencies.yml
@@ -2,7 +2,7 @@ dependencies:
plugins/gitfast:
repo: felipec/git-completion
branch: master
- version: tag:v2.1
+ version: tag:v2.2
postcopy: |
set -e
rm -rf git-completion.plugin.zsh Makefile t tools
diff --git a/plugins/gitfast/MANUAL.adoc b/plugins/gitfast/MANUAL.adoc
new file mode 100644
index 000000000..5333f5a2c
--- /dev/null
+++ b/plugins/gitfast/MANUAL.adoc
@@ -0,0 +1,40 @@
+This project is a friendly fork of the official Git completion
+(`contrib/completion`) and prompt scripts for Bash, Zsh, and possibly other
+shells.
+
+Most Git developers use the Bash shell, for which the completion scripts work
+rather well, however, Zsh is typically neglected. I've sent many patches to fix
+the issues, many have been merged, but many have been ignored, thus the need for
+a canonical location of a good, working Zsh completion.
+
+There are advantages for Bash users too. Currently the scripts under `contrib` are tied to the
+specific Git version, for example the completion scripts of version v2.40
+(https://git.kernel.org/pub/scm/git/git.git/plain/contrib/completion/git-completion.bash?h=v2.40.0[git-completion.bash])
+have issues with older versions of Git (e.g. v2.33); the ones in
+this project don't.
+
+With `git-completion` you can be sure you are using the latest completion that
+works in both shells, and any Git version.
+
+This is a sister project of the
+https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast[Oh My Zsh
+gitfast] plugin (that I also maintain), which has similar needs.
+
+== Installation ==
+
+* https://github.com/felipec/git-completion/wiki/Bash[Bash instructions]
+* https://github.com/felipec/git-completion/wiki/Zsh[Zsh instructions]
+
+== Improvements from upstream ==
+
+This is a short list of the benefits you get:
+
+* Easier installation
+* Tons of bug fixes
+* Works with older versions of git
+* Zsh: much more options
+* Zsh: quoting works properly
+* Zsh: automatic suffix removal
+
+For a full list of all the patches on top of upstream git check
+https://github.com/felipec/git-completion/wiki/Patches[Patches].
diff --git a/plugins/gitfast/_git b/plugins/gitfast/_git
index 31bf88c1c..1283c713e 100644
--- a/plugins/gitfast/_git
+++ b/plugins/gitfast/_git
@@ -2,23 +2,11 @@
# zsh completion wrapper for git
#
-# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
+# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
#
-# The recommended way to install this script is to make a copy of it as a
-# file named '_git' inside any directory in your fpath.
+# The recommended way to use this script is to prepend its location to your $fpath:
#
-# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
-# and then add the following to your ~/.zshrc file:
-#
-# fpath=(~/.zsh $fpath)
-#
-# You need git's bash completion script installed. By default bash-completion's
-# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
-#
-# If your bash completion script is somewhere else, you can specify the
-# location in your ~/.zshrc:
-#
-# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
+# fpath=($git_completion_srcdir $fpath)
#
zstyle -T ':completion:*:*:git:*' tag-order && \
diff --git a/plugins/gitfast/git-completion.bash b/plugins/gitfast/git-completion.bash
index 9a2045f26..8a790ca69 100644
--- a/plugins/gitfast/git-completion.bash
+++ b/plugins/gitfast/git-completion.bash
@@ -1,6 +1,8 @@
# bash/zsh completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
+# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
+#
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
#