{"thread":{"id":"60678","subject":"[RFC PATCH 1/6] completion: complete new old actions, start opts","startedAt":"2024-01-02T19:58:00Z","lastAt":"2024-01-02T19:58:03Z","messageCount":6,"participants":["Britton Leo Kerin"],"isPatch":true,"patchVersion":1,"patchTotal":6},"messages":[{"id":"486213","messageId":"ac2d9b41-be28-45b8-9113-da59a85d791e@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 1/6] completion: complete new old actions, start opts","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:39Z","receivedAt":"2024-01-02T19:58:00Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 17 +++++++++++++++--\n 1 file changed, 15 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 185b47d802..15d22ff7d9 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1449,7 +1449,7 @@ _git_bisect ()\n {\n \t__git_has_doubledash && return\n \n-\tlocal subcommands=\"start bad good skip reset visualize replay log run\"\n+\tlocal subcommands=\"start bad new good old terms skip reset visualize replay log run help\"\n \tlocal subcommand=\"$(__git_find_on_cmdline \"$subcommands\")\"\n \tif [ -z \"$subcommand\" ]; then\n \t\t__git_find_repo_path\n@@ -1462,7 +1462,20 @@ _git_bisect ()\n \tfi\n \n \tcase \"$subcommand\" in\n-\tbad|good|reset|skip|start)\n+\tstart)\n+\t\tcase \"$cur\" in\n+\t\t--*)\n+\t\t\t__gitcomp \"--term-new --term-bad --term-old --term-good --first-parent --no-checkout\"\n+\t\t\treturn\n+\t\t\t;;\n+\t\t*)\n+\t\t\t;;\n+\t\tesac\n+\t\t;;\n+\tesac\n+\n+\tcase \"$subcommand\" in\n+\tbad|new|good|old|reset|skip|start)\n \t\t__git_complete_refs\n \t\t;;\n \t*)\n-- \n2.43.0\n\n\n"},{"id":"486214","messageId":"66708709-247c-49ea-afda-6ac607159795@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 2/6] completion: git-log opts to bisect visualize","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:40Z","receivedAt":"2024-01-02T19:58:01Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"To do this the majority of _git_log has been factored out into the new\n__git_complete_log_opts.  This is needed because the visualize command\naccepts git-log options but not rev arguments (they are fixed to the\ncommits under bisection).\n\nSigned-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 30 ++++++++++++++++++++++----\n 1 file changed, 26 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 15d22ff7d9..3472fab514 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1472,6 +1472,16 @@ _git_bisect ()\n \t\t\t;;\n \t\tesac\n \t\t;;\n+\tvisualize)\n+\t\tcase \"$cur\" in\n+\t\t-*)\n+\t\t\t__git_complete_log_opts\n+\t\t\treturn\n+\t\t\t;;\n+\t\t*)\n+\t\t\t;;\n+\t\tesac\n+\t\t;;\n \tesac\n \n \tcase \"$subcommand\" in\n@@ -2074,11 +2084,12 @@ __git_diff_merges_opts=\"off none on first-parent 1 separate m combined c dense-c\n __git_log_pretty_formats=\"oneline short medium full fuller reference email raw format: tformat: mboxrd\"\n __git_log_date_formats=\"relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:\"\n \n-_git_log ()\n-{\n-\t__git_has_doubledash && return\n-\t__git_find_repo_path\n \n+# Find only porcelain (i.e. not git-rev-list) option (not argument) and\n+# selected option argument completions for git-log options and put them in\n+# COMPREPLY.\n+__git_complete_log_opts ()\n+{\n \tlocal merge=\"\"\n \tif [ -f \"$__git_repo_path/MERGE_HEAD\" ]; then\n \t\tmerge=\"--merge\"\n@@ -2171,6 +2182,17 @@ _git_log ()\n \t\treturn\n \t\t;;\n \tesac\n+\n+}\n+\n+_git_log ()\n+{\n+\t__git_has_doubledash && return\n+\t__git_find_repo_path\n+\n+        __git_complete_log_opts\n+        [ -z \"$COMPREPLY\" ] || return\n+\n \t__git_complete_revlist\n }\n \n-- \n2.43.0\n\n\n"},{"id":"486215","messageId":"ed2116c7-88ed-4fa9-9286-89a945ce9e50@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 4/6] completion: custom git-bisect terms","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:42Z","receivedAt":"2024-01-02T19:58:02Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 15 ++++++++++++---\n 1 file changed, 12 insertions(+), 3 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 4940ad3e24..a09598c5c1 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1581,10 +1581,19 @@ _git_bisect ()\n {\n \t__git_has_doubledash && return\n \n-\tlocal subcommands=\"start bad new good old terms skip reset visualize replay log run help\"\n+\t__git_find_repo_path\n+\n+\tlocal term_bad term_good\n+\tif [ -f \"$__git_repo_path\"/BISECT_START ]; then\n+\t\tterm_bad=`__git bisect terms --term-bad`\n+\t\tterm_good=`__git bisect terms --term-good`\n+\tfi\n+\n+\tlocal subcommands=\"start bad new $term_bad good old $term_good terms skip reset visualize replay log run help\"\n+\n \tlocal subcommand=\"$(__git_find_on_cmdline \"$subcommands\")\"\n+\n \tif [ -z \"$subcommand\" ]; then\n-\t\t__git_find_repo_path\n \t\tif [ -f \"$__git_repo_path\"/BISECT_START ]; then\n \t\t\t__gitcomp \"$subcommands\"\n \t\telse\n@@ -1617,7 +1626,7 @@ _git_bisect ()\n \tesac\n \n \tcase \"$subcommand\" in\n-\tbad|new|good|old|reset|skip|start)\n+\tbad|new|\"$term_bad\"|good|old|\"$term_good\"|reset|skip|start)\n \t\t__git_complete_refs\n \t\t;;\n \t*)\n-- \n2.43.0\n\n\n"},{"id":"486216","messageId":"85d66039-f19a-4ee3-99ae-f8b01b8bd1d9@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 3/6] completion: move to maintain define-before-use","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:41Z","receivedAt":"2024-01-02T19:58:02Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 265 ++++++++++++-------------\n 1 file changed, 132 insertions(+), 133 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 3472fab514..4940ad3e24 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1445,6 +1445,138 @@ _git_archive ()\n \t__git_complete_file\n }\n \n+# Options that go well for log, shortlog and gitk\n+__git_log_common_options=\"\n+\t--not --all\n+\t--branches --tags --remotes\n+\t--first-parent --merges --no-merges\n+\t--max-count=\n+\t--max-age= --since= --after=\n+\t--min-age= --until= --before=\n+\t--min-parents= --max-parents=\n+\t--no-min-parents --no-max-parents\n+\"\n+# Options that go well for log and gitk (not shortlog)\n+__git_log_gitk_options=\"\n+\t--dense --sparse --full-history\n+\t--simplify-merges --simplify-by-decoration\n+\t--left-right --notes --no-notes\n+\"\n+# Options that go well for log and shortlog (not gitk)\n+__git_log_shortlog_options=\"\n+\t--author= --committer= --grep=\n+\t--all-match --invert-grep\n+\"\n+# Options accepted by log and show\n+__git_log_show_options=\"\n+\t--diff-merges --diff-merges= --no-diff-merges --dd --remerge-diff\n+\"\n+\n+__git_diff_merges_opts=\"off none on first-parent 1 separate m combined c dense-combined cc remerge r\"\n+\n+__git_log_pretty_formats=\"oneline short medium full fuller reference email raw format: tformat: mboxrd\"\n+__git_log_date_formats=\"relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:\"\n+\n+# Find only porcelain (i.e. not git-rev-list) option (not argument) and\n+# selected option argument completions for git-log options and put them in\n+# COMPREPLY.\n+__git_complete_log_opts ()\n+{\n+\tlocal merge=\"\"\n+\tif [ -f \"$__git_repo_path/MERGE_HEAD\" ]; then\n+\t\tmerge=\"--merge\"\n+\tfi\n+\tcase \"$prev,$cur\" in\n+\t-L,:*:*)\n+\t\treturn\t# fall back to Bash filename completion\n+\t\t;;\n+\t-L,:*)\n+\t\t__git_complete_symbol --cur=\"${cur#:}\" --sfx=\":\"\n+\t\treturn\n+\t\t;;\n+\t-G,*|-S,*)\n+\t\t__git_complete_symbol\n+\t\treturn\n+\t\t;;\n+\tesac\n+\tcase \"$cur\" in\n+\t--pretty=*|--format=*)\n+\t\t__gitcomp \"$__git_log_pretty_formats $(__git_pretty_aliases)\n+\t\t\t\" \"\" \"${cur#*=}\"\n+\t\treturn\n+\t\t;;\n+\t--date=*)\n+\t\t__gitcomp \"$__git_log_date_formats\" \"\" \"${cur##--date=}\"\n+\t\treturn\n+\t\t;;\n+\t--decorate=*)\n+\t\t__gitcomp \"full short no\" \"\" \"${cur##--decorate=}\"\n+\t\treturn\n+\t\t;;\n+\t--diff-algorithm=*)\n+\t\t__gitcomp \"$__git_diff_algorithms\" \"\" \"${cur##--diff-algorithm=}\"\n+\t\treturn\n+\t\t;;\n+\t--submodule=*)\n+\t\t__gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n+\t\treturn\n+\t\t;;\n+\t--ws-error-highlight=*)\n+\t\t__gitcomp \"$__git_ws_error_highlight_opts\" \"\" \"${cur##--ws-error-highlight=}\"\n+\t\treturn\n+\t\t;;\n+\t--no-walk=*)\n+\t\t__gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n+\t\treturn\n+\t\t;;\n+\t--diff-merges=*)\n+                __gitcomp \"$__git_diff_merges_opts\" \"\" \"${cur##--diff-merges=}\"\n+                return\n+                ;;\n+\t--*)\n+\t\t__gitcomp \"\n+\t\t\t$__git_log_common_options\n+\t\t\t$__git_log_shortlog_options\n+\t\t\t$__git_log_gitk_options\n+\t\t\t$__git_log_show_options\n+\t\t\t--root --topo-order --date-order --reverse\n+\t\t\t--follow --full-diff\n+\t\t\t--abbrev-commit --no-abbrev-commit --abbrev=\n+\t\t\t--relative-date --date=\n+\t\t\t--pretty= --format= --oneline\n+\t\t\t--show-signature\n+\t\t\t--cherry-mark\n+\t\t\t--cherry-pick\n+\t\t\t--graph\n+\t\t\t--decorate --decorate= --no-decorate\n+\t\t\t--walk-reflogs\n+\t\t\t--no-walk --no-walk= --do-walk\n+\t\t\t--parents --children\n+\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n+\t\t\t$merge\n+\t\t\t$__git_diff_common_options\n+\t\t\t\"\n+\t\treturn\n+\t\t;;\n+\t-L:*:*)\n+\t\treturn\t# fall back to Bash filename completion\n+\t\t;;\n+\t-L:*)\n+\t\t__git_complete_symbol --cur=\"${cur#-L:}\" --sfx=\":\"\n+\t\treturn\n+\t\t;;\n+\t-G*)\n+\t\t__git_complete_symbol --pfx=\"-G\" --cur=\"${cur#-G}\"\n+\t\treturn\n+\t\t;;\n+\t-S*)\n+\t\t__git_complete_symbol --pfx=\"-S\" --cur=\"${cur#-S}\"\n+\t\treturn\n+\t\t;;\n+\tesac\n+\n+}\n+\n _git_bisect ()\n {\n \t__git_has_doubledash && return\n@@ -2052,139 +2184,6 @@ _git_ls_tree ()\n \t__git_complete_file\n }\n \n-# Options that go well for log, shortlog and gitk\n-__git_log_common_options=\"\n-\t--not --all\n-\t--branches --tags --remotes\n-\t--first-parent --merges --no-merges\n-\t--max-count=\n-\t--max-age= --since= --after=\n-\t--min-age= --until= --before=\n-\t--min-parents= --max-parents=\n-\t--no-min-parents --no-max-parents\n-\"\n-# Options that go well for log and gitk (not shortlog)\n-__git_log_gitk_options=\"\n-\t--dense --sparse --full-history\n-\t--simplify-merges --simplify-by-decoration\n-\t--left-right --notes --no-notes\n-\"\n-# Options that go well for log and shortlog (not gitk)\n-__git_log_shortlog_options=\"\n-\t--author= --committer= --grep=\n-\t--all-match --invert-grep\n-\"\n-# Options accepted by log and show\n-__git_log_show_options=\"\n-\t--diff-merges --diff-merges= --no-diff-merges --dd --remerge-diff\n-\"\n-\n-__git_diff_merges_opts=\"off none on first-parent 1 separate m combined c dense-combined cc remerge r\"\n-\n-__git_log_pretty_formats=\"oneline short medium full fuller reference email raw format: tformat: mboxrd\"\n-__git_log_date_formats=\"relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:\"\n-\n-\n-# Find only porcelain (i.e. not git-rev-list) option (not argument) and\n-# selected option argument completions for git-log options and put them in\n-# COMPREPLY.\n-__git_complete_log_opts ()\n-{\n-\tlocal merge=\"\"\n-\tif [ -f \"$__git_repo_path/MERGE_HEAD\" ]; then\n-\t\tmerge=\"--merge\"\n-\tfi\n-\tcase \"$prev,$cur\" in\n-\t-L,:*:*)\n-\t\treturn\t# fall back to Bash filename completion\n-\t\t;;\n-\t-L,:*)\n-\t\t__git_complete_symbol --cur=\"${cur#:}\" --sfx=\":\"\n-\t\treturn\n-\t\t;;\n-\t-G,*|-S,*)\n-\t\t__git_complete_symbol\n-\t\treturn\n-\t\t;;\n-\tesac\n-\tcase \"$cur\" in\n-\t--pretty=*|--format=*)\n-\t\t__gitcomp \"$__git_log_pretty_formats $(__git_pretty_aliases)\n-\t\t\t\" \"\" \"${cur#*=}\"\n-\t\treturn\n-\t\t;;\n-\t--date=*)\n-\t\t__gitcomp \"$__git_log_date_formats\" \"\" \"${cur##--date=}\"\n-\t\treturn\n-\t\t;;\n-\t--decorate=*)\n-\t\t__gitcomp \"full short no\" \"\" \"${cur##--decorate=}\"\n-\t\treturn\n-\t\t;;\n-\t--diff-algorithm=*)\n-\t\t__gitcomp \"$__git_diff_algorithms\" \"\" \"${cur##--diff-algorithm=}\"\n-\t\treturn\n-\t\t;;\n-\t--submodule=*)\n-\t\t__gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n-\t\treturn\n-\t\t;;\n-\t--ws-error-highlight=*)\n-\t\t__gitcomp \"$__git_ws_error_highlight_opts\" \"\" \"${cur##--ws-error-highlight=}\"\n-\t\treturn\n-\t\t;;\n-\t--no-walk=*)\n-\t\t__gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n-\t\treturn\n-\t\t;;\n-\t--diff-merges=*)\n-                __gitcomp \"$__git_diff_merges_opts\" \"\" \"${cur##--diff-merges=}\"\n-                return\n-                ;;\n-\t--*)\n-\t\t__gitcomp \"\n-\t\t\t$__git_log_common_options\n-\t\t\t$__git_log_shortlog_options\n-\t\t\t$__git_log_gitk_options\n-\t\t\t$__git_log_show_options\n-\t\t\t--root --topo-order --date-order --reverse\n-\t\t\t--follow --full-diff\n-\t\t\t--abbrev-commit --no-abbrev-commit --abbrev=\n-\t\t\t--relative-date --date=\n-\t\t\t--pretty= --format= --oneline\n-\t\t\t--show-signature\n-\t\t\t--cherry-mark\n-\t\t\t--cherry-pick\n-\t\t\t--graph\n-\t\t\t--decorate --decorate= --no-decorate\n-\t\t\t--walk-reflogs\n-\t\t\t--no-walk --no-walk= --do-walk\n-\t\t\t--parents --children\n-\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n-\t\t\t$merge\n-\t\t\t$__git_diff_common_options\n-\t\t\t\"\n-\t\treturn\n-\t\t;;\n-\t-L:*:*)\n-\t\treturn\t# fall back to Bash filename completion\n-\t\t;;\n-\t-L:*)\n-\t\t__git_complete_symbol --cur=\"${cur#-L:}\" --sfx=\":\"\n-\t\treturn\n-\t\t;;\n-\t-G*)\n-\t\t__git_complete_symbol --pfx=\"-G\" --cur=\"${cur#-G}\"\n-\t\treturn\n-\t\t;;\n-\t-S*)\n-\t\t__git_complete_symbol --pfx=\"-S\" --cur=\"${cur#-S}\"\n-\t\treturn\n-\t\t;;\n-\tesac\n-\n-}\n-\n _git_log ()\n {\n \t__git_has_doubledash && return\n-- \n2.43.0\n\n\n"},{"id":"486218","messageId":"ca077105-345a-4c65-a5a8-06c7be879255@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 6/6] completion: add comment","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:44Z","receivedAt":"2024-01-02T19:58:02Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 6 ++++++\n 1 file changed, 6 insertions(+)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 3bb790220a..7f9a626e1b 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1589,8 +1589,14 @@ _git_bisect ()\n \t\tterm_good=`__git bisect terms --term-good`\n \tfi\n \n+\t# We will complete any custom terms, but still always complete the\n+\t# more usual bad/new/good/old because git bisect gives a good error\n+\t# message if these are given when not in use and that's better than\n+\t# silent refusal to complete if the user is confused.\n+\t#\n \t# We want to recognize 'view' but not complete it, because it overlaps\n \t# with 'visualize' too much and is just an alias for it.\n+\t#\n \tlocal completable_subcommands=\"start bad new $term_bad good old $term_good terms skip reset visualize replay log run help\"\n \tlocal all_subcommands=\"$completable_subcommands view\"\n \n-- \n2.43.0\n\n\n"},{"id":"486217","messageId":"cda06ddc-3de6-4fef-a6e2-a3da8c0bac25@smtp-relay.sendinblue.com","threadId":"60678","inReplyTo":"20240102195744.478503-1-britton.kerin@gmail.com","subject":"[RFC PATCH 5/6] completion: recognize but do not complete 'view'","fromName":"Britton Leo Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-01-02T19:57:43Z","receivedAt":"2024-01-02T19:58:03Z","isPatch":true,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"Completing it might annoy some existing users by creating completion\nambiguity on 'v' and 'vi' without adding anything useful in terms of\ninterface discovery/recall (because 'view' is just an alias anyway).\n\nSigned-off-by: Britton Leo Kerin <britton.kerin@gmail.com>\n---\n contrib/completion/git-completion.bash | 11 +++++++----\n 1 file changed, 7 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex a09598c5c1..3bb790220a 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1589,13 +1589,16 @@ _git_bisect ()\n \t\tterm_good=`__git bisect terms --term-good`\n \tfi\n \n-\tlocal subcommands=\"start bad new $term_bad good old $term_good terms skip reset visualize replay log run help\"\n+\t# We want to recognize 'view' but not complete it, because it overlaps\n+\t# with 'visualize' too much and is just an alias for it.\n+\tlocal completable_subcommands=\"start bad new $term_bad good old $term_good terms skip reset visualize replay log run help\"\n+\tlocal all_subcommands=\"$completable_subcommands view\"\n \n-\tlocal subcommand=\"$(__git_find_on_cmdline \"$subcommands\")\"\n+\tlocal subcommand=\"$(__git_find_on_cmdline \"$all_subcommands\")\"\n \n \tif [ -z \"$subcommand\" ]; then\n \t\tif [ -f \"$__git_repo_path\"/BISECT_START ]; then\n-\t\t\t__gitcomp \"$subcommands\"\n+\t\t\t__gitcomp \"$completable_subcommands\"\n \t\telse\n \t\t\t__gitcomp \"replay start\"\n \t\tfi\n@@ -1613,7 +1616,7 @@ _git_bisect ()\n \t\t\t;;\n \t\tesac\n \t\t;;\n-\tvisualize)\n+\tvisualize|view)\n \t\tcase \"$cur\" in\n \t\t-*)\n \t\t\t__git_complete_log_opts\n-- \n2.43.0\n\n\n"}]}