From 5637bdc352a7763e30290bb37239a61cb9865d1b Mon Sep 17 00:00:00 2001 From: David Mandelberg Date: Sun, 23 Mar 2025 17:05:46 -0400 Subject: completion: add helper to count path components A follow-up commit will use this with for-each-ref to strip the right number of path components from refnames. Signed-off-by: David Mandelberg Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'contrib/completion/git-completion.bash') diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 413911be3b..5fdc71208e 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -234,6 +234,17 @@ __git_dequote () done } +# Prints the number of slash-separated components in a path. +# 1: Path to count components of. +__git_count_path_components () +{ + local path="$1" + local relative="${path#/}" + relative="${relative%/}" + local slashes="/${relative//[^\/]}" + echo "${#slashes}" +} + # The following function is based on code from: # # bash_completion - programmable completion functions for bash 3.2+ -- cgit v1.3