Age | Commit message (Collapse) | Author | Files | Lines |
|
With using `_guard` there like it's been done, the completion could not
be selected, probably because of the call to `_message` therein.
This changes it to use only the logic/check from `_guard` that we want
here.
|
|
Remove "-2" for _describe in __git_recent_commits.
This fixes the duplicate entries issue, because __git_recent_commits
gets called twice for _git-checkout (for __git_revisions and
__git_tree_ishs):
1. __git_commit_objects_prefer_recent _alternative __git_commits
__git_revisions _alternative _git-checkout
2. __git_commit_objects_prefer_recent _alternative __git_commits
__git_tree_ishs _alternative _git-checkout
|
|
This fixes 1e7bb4a: newlines need to be kept (from the "%d" part).
|
|
$pipestatus for `: foo` is 0 always.
Without this, "git checkout" in a non-git directory would complete " ",
but not result in a note/error about not being in a git dir.
|
|
Allows 'git checkout o/m<TAB>' to complete 'origin/master'.
Moreover, '/x<TAB>' would complete 'foo/bar/xyzzy/baz', since the matchspec
uses not '*' but '**'.
|
|
This adds the "HEAD~15" gitrevisions(7) identifier of the commit to the
description, which also uniquifies, isn't redundant, and may be easier
to type.
Ref: zsh-workers/34820 (http://www.zsh.org/mla/workers/2015/msg00744.html)
|
|
This helps to distinguish it from __git_commit_objects.
|
|
|
|
Also, `--all` and `--reflog` is used to get all commits.
It adds the _guard in front, so only non-empty values will come here.
Also, __git_commit_objects_prefer_recent will only call it, if there are
no matching recent commits.
|
|
This is used with __git_commits then, and is meant to only call
__git_recent_commits, if there are matches.
|
|
Handle " -> master, origin/master" in decorated git-log output, and add
it as separate entries.
|
|
|
|
|
|
|
|
|
|
and _git-diff explicitly
|
|
|
|
It is useful to have this distinction visually.
This also uses `--format=%(refname:short)` directly with `git
for-each-ref`.
|
|
|
|
|
|
|
|
|
|
Based on a patch by Daniel Hahler <git@thequod.de>.
|
|
|
|
This restores the message when completing a commit object name that
isn't one of the most recent 20 commits. e.g., 'git checkout deadbeef<TAB>'.
|
|
--fixup' hash completions
|
|
|
|
|
|
"git stash" should complete arguments for "git stash save", but without
the message part.
|
|
I am not sure about the deprecation of user-commands, but from other
places in the doc and commit history this deprecation was meant to be
reverted?!
|
|
|
|
- 'git rebase': complete arguments in the same word as the option
- 'git commit': provide message for --fixup/--squash
|
|
As the description of that argument says, it's used to *not* perform
sanity checks.
|
|
It is now possible to use the tag-order style to stagger the overwhelming
'git <TAB>' subcommand listing. For example:
zstyle ':completion::complete:git:argument-1:' tag-order \
main-porcelain-commands user-commands third-party-commands \
ancillary-manipulator-commands ancillary-interrogator-commands \
plumbing-manipulator-commands plumbing-interrogator-commands \
aliases
|
|
|
|
|
|
|
|
|
|
This incorporates changes mentioned in the release notes since 2.0.0.
|
|
|
|
This incorporates changes mentioned in the release notes since 1.9.0.
|
|
|
|
The git completion for aliases (i.e. completing with aliased verb)
was broken whem some \n exist in aliases.
|
|
|
|
Src/Zle/compresult.c, Src/Zle/zle_misc.c, Src/Zle/zle_refresh.c: fix
auto-removable suffix highlighting
Completion/Unix/Command/_git: fix compadd for auto-removable suffix in
_git_commit_ranges and _git_stash
|
|
|
|
|
|
- cherry-pick: allow commit ranges to be specified
- push: option is called --set-upstream and not --set-upstream-to
- status: offer -b,--branch when --porcelain or -z are given
--porcelain and -z don't show the branch info by default, so it
is needed to offer --branch for those options, too.
- checkout: add '--detach' option
- checkout: offer '-l' option when '--orphan' was given
- show-ref: update wording of --head and --heads according to man-page
- config: update default value for color.ui
color-bool was changed to accept a default value as $parts[5]
- add support for 'cygstart' as a valid builtin browser on cygwin
- rebase: add suuport for --autostash and config.autostash
- update builtin browser list
- grep: add --{no,}textconv
- check-ignore: add --no-index
- update-ref: add --stdin -z
- add -C
- pull: add support for --rebase=preserve
- config: add support for http.*. options
- blame: -L can be given multiple times
- config: add support for http.savecookies
- push: add support for --force-with-lease
- diff: --diff-filter: allow lower-case variants (all-but ... specs)
- config: add support for 'fetch.prune' and 'remote.*.prune'
- check-ignore: -z: update message, check-attr: add -z
- config: add diff.orderfile
- revision options: add --exclude
- revision options: add --ignore-missing
- revision options: add --bisect
- rev-parse: add --stuck-long
- merge-base: add --fork-point
- config: implement submodule.*.update completion
- send-email: add --smtp-ssl-cert-path and config options
|
|
The output of 'submodule status' is
Xsha1 name (describe)
X being one of -,+,U,[space]
We are only interested in the name part and not the whole line.
Fix the parameter expansions accordingly.
|
|
Before this, there were several cases where the completion
would offer the wrong things:
$ git diff branch -- <tab>
would try to complete "changed in workdir files", but needs to
complete all "tree files in HEAD".
$ git diff --cached -- file1 file2 <tab>
would try to complete "changed in workdir files" but needs to
complete "changed in index files".
...
After this change all possible combinations are taken into
account and completion should work properly.
|