summaryrefslogtreecommitdiff
path: root/command-list.txt
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-05-20 18:40:04 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-21 04:23:14 (GMT)
commit84a971310656b7f553b48ca30bcd8936c95b00c9 (patch)
tree851d0bc2196c8ca424b11eb760965ec77242a0e5 /command-list.txt
parentfe902f2cefee4d4607c43efe8b5750f346199c43 (diff)
downloadgit-84a971310656b7f553b48ca30bcd8936c95b00c9.zip
git-84a971310656b7f553b48ca30bcd8936c95b00c9.tar.gz
git-84a971310656b7f553b48ca30bcd8936c95b00c9.tar.bz2
completion: let git provide the completable command list
Instead of maintaining a separate list of command classification, which often could go out of date, let's centralize the information back in git. While the function in git-completion.bash implies "list porcelain commands", that's not exactly what it does. It gets all commands (aka --list-cmds=main,others) then exclude certain non-porcelain ones. We could almost recreate this list two lists list-mainporcelain and others. The non-porcelain-but-included-anyway is added by the third category list-complete. Note that the current completion script incorrectly classifies filter-branch as porcelain and t9902 tests this behavior. We keep it this way in t9902 because this test does not really care which particular command is porcelain or plumbing, they're just names. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'command-list.txt')
-rw-r--r--command-list.txt53
1 files changed, 27 insertions, 26 deletions
diff --git a/command-list.txt b/command-list.txt
index a2f360e..dcf1907 100644
--- a/command-list.txt
+++ b/command-list.txt
@@ -47,12 +47,12 @@
# command name category [category] [category]
git-add mainporcelain worktree
git-am mainporcelain
-git-annotate ancillaryinterrogators
-git-apply plumbingmanipulators
+git-annotate ancillaryinterrogators complete
+git-apply plumbingmanipulators complete
git-archimport foreignscminterface
git-archive mainporcelain
git-bisect mainporcelain info
-git-blame ancillaryinterrogators
+git-blame ancillaryinterrogators complete
git-branch mainporcelain history
git-bundle mainporcelain
git-cat-file plumbinginterrogators
@@ -62,7 +62,7 @@ git-check-mailmap purehelpers
git-checkout mainporcelain history
git-checkout-index plumbingmanipulators
git-check-ref-format purehelpers
-git-cherry ancillaryinterrogators
+git-cherry ancillaryinterrogators complete
git-cherry-pick mainporcelain
git-citool mainporcelain
git-clean mainporcelain
@@ -70,7 +70,7 @@ git-clone mainporcelain init
git-column purehelpers
git-commit mainporcelain history
git-commit-tree plumbingmanipulators
-git-config ancillarymanipulators
+git-config ancillarymanipulators complete
git-count-objects ancillaryinterrogators
git-credential purehelpers
git-credential-cache purehelpers
@@ -84,30 +84,30 @@ git-diff mainporcelain history
git-diff-files plumbinginterrogators
git-diff-index plumbinginterrogators
git-diff-tree plumbinginterrogators
-git-difftool ancillaryinterrogators
+git-difftool ancillaryinterrogators complete
git-fast-export ancillarymanipulators
git-fast-import ancillarymanipulators
git-fetch mainporcelain remote
git-fetch-pack synchingrepositories
-git-filter-branch ancillarymanipulators
+git-filter-branch ancillarymanipulators complete
git-fmt-merge-msg purehelpers
git-for-each-ref plumbinginterrogators
git-format-patch mainporcelain
-git-fsck ancillaryinterrogators
+git-fsck ancillaryinterrogators complete
git-gc mainporcelain
-git-get-tar-commit-id ancillaryinterrogators
+git-get-tar-commit-id ancillaryinterrogators complete
git-grep mainporcelain info
git-gui mainporcelain
git-hash-object plumbingmanipulators
-git-help ancillaryinterrogators
+git-help ancillaryinterrogators complete
git-http-backend synchingrepositories
git-http-fetch synchelpers
git-http-push synchelpers
-git-imap-send foreignscminterface
+git-imap-send foreignscminterface complete
git-index-pack plumbingmanipulators
git-init mainporcelain init
-git-instaweb ancillaryinterrogators
-git-interpret-trailers purehelpers
+git-instaweb ancillaryinterrogators complete
+git-interpret-trailers purehelpers complete
gitk mainporcelain
git-log mainporcelain info
git-ls-files plumbinginterrogators
@@ -120,14 +120,14 @@ git-merge-base plumbinginterrogators
git-merge-file plumbingmanipulators
git-merge-index plumbingmanipulators
git-merge-one-file purehelpers
-git-mergetool ancillarymanipulators
+git-mergetool ancillarymanipulators complete
git-merge-tree ancillaryinterrogators
git-mktag plumbingmanipulators
git-mktree plumbingmanipulators
git-mv mainporcelain worktree
-git-name-rev plumbinginterrogators
+git-name-rev plumbinginterrogators complete
git-notes mainporcelain
-git-p4 foreignscminterface
+git-p4 foreignscminterface complete
git-pack-objects plumbingmanipulators
git-pack-redundant plumbinginterrogators
git-pack-refs ancillarymanipulators
@@ -141,32 +141,33 @@ git-quiltimport foreignscminterface
git-read-tree plumbingmanipulators
git-rebase mainporcelain history
git-receive-pack synchelpers
-git-reflog ancillarymanipulators
-git-remote ancillarymanipulators
-git-repack ancillarymanipulators
-git-replace ancillarymanipulators
-git-request-pull foreignscminterface
+git-reflog ancillarymanipulators complete
+git-remote ancillarymanipulators complete
+git-repack ancillarymanipulators complete
+git-replace ancillarymanipulators complete
+git-request-pull foreignscminterface complete
git-rerere ancillaryinterrogators
git-reset mainporcelain worktree
git-revert mainporcelain
git-rev-list plumbinginterrogators
git-rev-parse ancillaryinterrogators
git-rm mainporcelain worktree
-git-send-email foreignscminterface
+git-send-email foreignscminterface complete
git-send-pack synchingrepositories
git-shell synchelpers
git-shortlog mainporcelain
git-show mainporcelain info
-git-show-branch ancillaryinterrogators
+git-show-branch ancillaryinterrogators complete
git-show-index plumbinginterrogators
git-show-ref plumbinginterrogators
git-sh-i18n purehelpers
git-sh-setup purehelpers
git-stash mainporcelain
+git-stage complete
git-status mainporcelain info
git-stripspace purehelpers
git-submodule mainporcelain
-git-svn foreignscminterface
+git-svn foreignscminterface complete
git-symbolic-ref plumbingmanipulators
git-tag mainporcelain history
git-unpack-file plumbinginterrogators
@@ -177,11 +178,11 @@ git-update-server-info synchingrepositories
git-upload-archive synchelpers
git-upload-pack synchelpers
git-var plumbinginterrogators
-git-verify-commit ancillaryinterrogators
+git-verify-commit ancillaryinterrogators complete
git-verify-pack plumbinginterrogators
git-verify-tag ancillaryinterrogators
gitweb ancillaryinterrogators
-git-whatchanged ancillaryinterrogators
+git-whatchanged ancillaryinterrogators complete
git-worktree mainporcelain
git-write-tree plumbingmanipulators
gitattributes guide