1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-02 22:11:54 +02:00
Commit graph

297 commits

Author SHA1 Message Date
Daniel Shahaf
e14540ac02 37150: _git: Autocomplete .. for commit ranges
This patch makes three changes:

- Enable 'git diff o/m<TAB>' to complete to 'origin/master..' with the
  ".." being autoremovable.

  This is implemented by the first hunk.  That hunk is a functional
  subset of Oliver's users/20705, however, the latter hasn't been
  committed.

- Make typing "^" remove the "..", in light of the syntax "foo^..bar".

- Make typing "." _not_ remove the ".." but simply append it, since
  "foo...bar" is a valid and useful syntax.
2015-12-05 10:15:40 +00:00
Daniel Shahaf
6a3de994af 36957: _git: Apply matchspecs to filename completion such as 'git log f/b<TAB>' → 'foo/bar.txt's
This patch makes 'git log S/e<TAB>' expand to Src/exec.c.  The incumbent
code would run 'git ls-tree S/' and find no matches.
2015-12-05 10:15:39 +00:00
Daniel Shahaf
d554f31bcb 37149: _git: Complete 'bisect/bad' ref 2015-11-20 03:39:34 +00:00
Daniel Shahaf
afc4d41652 37129: _git: Complete 'commit -p' 2015-11-17 23:31:26 +00:00
Barton E. Schaefer
9ce000db22 37115: update for changes in ${(P)...} evaluation. 2015-11-14 21:22:17 -08:00
Daniel Shahaf
6198f7ffba 37031: _git-merge: Exclude ancestors of HEAD from recent commit completion
As done for _git-cherry-pick in a428c6b62c (36328 + 36340).
2015-11-13 20:17:51 +00:00
Peter Stephenson
20153c573e 37062: tentative mechanism for git commit descriptions.
Mechanism for forcing completion system into verbose mode is subject
to change.
2015-11-04 17:37:17 +00:00
Daniel Shahaf
0e510f0c35 37032: Temporarily revert 36959. 2015-10-31 13:03:54 +00:00
Daniel Shahaf
8b51584246 36962: _git: Fix completion of RHS of refspecs.
Before this patch, 'git push $remote :<TAB>' completed branch names (as though
by `git branch -a`), instead of completing remote branch names sans the
${remote}/ prefix.
2015-10-25 18:52:29 +00:00
Daniel Shahaf
cc19bb96b9 36964: _git: Complete remotes branch names with slashes correctly.
For example, 'git push remote HEAD:foo/bar' creates such branches.
2015-10-25 18:52:13 +00:00
Daniel Shahaf
b4f7482e44 36960: _git: Enable slash matcher for more branch and tag completions, include 'git branch <TAB>' and 'git tag <TAB>'. 2015-10-25 18:47:35 +00:00
Daniel Shahaf
f890d442e2 36959: _git: Offer @~$n as completion of recent commits.
Suggested-by: Oliver Kiddle (users/20705)
2015-10-25 18:47:26 +00:00
Daniel Shahaf
17af119089 36958: _git: Fix recent commit completion descriptions.
The uniquifiers 'HEAD~$n' were incorrect when a recent commit was the second
parent of a merge commit.  Detect that case and print something correct
instead.
2015-10-25 18:47:11 +00:00
Daniel Shahaf
f8b2c13c97 unposted: _git: Fix 'commit object name' completion messages.
Offer the "this alternative is still valid, but I don't know to offer
completions for it" for hash completion but not for recent object completion;
the former is protected by a _guard and the latter incorrectly appeared also in
cases such as 'git log a/b<TAB>' which were not the start of a gitrevisions(7)
expression.
2015-10-25 18:39:34 +00:00
Daniel Shahaf
98875bcb05 36900: _git: stash names completion: Display log messages
The "$@" argument to compadd is removed because (I think) it contains a -J,
which conflicts with the -V.

Joint with Daniel Hahler.
2015-10-20 14:30:10 +00:00
Peter Stephenson
9064483b6c 36722: allow git range to complete after ^.
Take account of backslash quoting.
2015-10-01 09:47:15 +01:00
James Clarke
bddd99d98a 36441: _git: Fixed typo in --author-date-order description 2015-09-07 21:11:10 +00:00
Daniel Shahaf
6e825e7b25 36353: _git: Unbreak after previous. 2015-09-01 04:37:39 +00:00
Mateusz Karbowy
a428c6b62c 36328 + 36340: _git-cherry-pick: Complete other branches only 2015-08-30 22:51:15 +00:00
Daniel Shahaf
63b1dcd284 36304: _git-cat-file: Fix regression in 36237
This broke 'git cat-file blob origin:Etc/<TAB>'.
2015-08-27 23:14:57 +00:00
Daniel Shahaf
fdf48d84fa 36277: _git: Updated for git-clone 2.4.5. 2015-08-24 11:23:44 +00:00
Daniel Shahaf
a69994ede1 36247: __git_objects: Complete HEAD:./foo correctly in worktree subdir 2015-08-19 23:29:50 +00:00
Daniel Shahaf
663fa4092f 36237: __git_objects: Complete HEAD:foo correctly in worktree subdir 2015-08-19 23:29:49 +00:00
Daniel Shahaf
a4c41fff12 36236: _git-log: Complete multiple revspecs
e.g., git log origin/master origin/foo origin/bar
2015-08-19 23:28:12 +00:00
Daniel Shahaf
d70e7149df 36236: _git-log: complete 'git rm'd files 2015-08-19 23:28:11 +00:00
Oliver Kiddle
ea5d100643 36148: _git-log: Complete flags after positional argument 2015-08-19 23:27:40 +00:00
Wieland Hoffmann
8e0b5e0e00 Wieland Hoffmann: 36123: protect against word splitting in __git_is_committish_range 2015-08-13 15:53:12 +02:00
Oliver Kiddle
cf77e28a3f 36127: assorted minor completion function changes 2015-08-12 18:06:03 +02:00
Mikael Magnusson
8815500f95 36116: _git: various fixes
Add = to git checkout --conflict= completion
fix transposed [-
git push remote argument is not optional
can use shorter syntax for a check
2015-08-12 17:54:07 +02:00
Daniel Hahler
d90f92194f 35970: completion: fix typos in _git and _brace_parameter 2015-08-02 17:58:12 +02:00
Daniel Hahler
8024de798d 35779: completion: _git-config: remove extraneous "local expl"
It is defined at the beginning of the function already, and results in
the output of `expl=''` when completing after `git config
branch.local.pushremote ` etc.
2015-07-13 15:05:52 +02:00
Oliver Kiddle
deb2ec7f17 35510: use consistent formatting for git subcommands 2015-06-18 23:50:59 +02:00
Oliver Kiddle
8ebb4e65a9 35504: complete % placeholders for git log --format 2015-06-18 23:47:40 +02:00
Daniel Hahler
e8cf611879 35216: _git-checkout: do not call __git_commits twice
This makes `branch_arg` empty by default, to be used only for
__git_remote_branch_names.

`branches::__git_revisions` was used here, but that's the same as
tree_ish_arg='tree-ishs::__git_tree_ishs' - both call __git_commits.

Only tree_ish_arg will call __git-commits now.
2015-06-08 00:35:01 +02:00
Daniel Hahler
da603d0a00 35098: completion: git: provide --amend also with "message" group
Especially during a git rebase, you would use `git commit -m foo
--amend`.
2015-05-29 01:56:18 +02:00
Oliver Kiddle
a711b2abef 35315: replace inappropriate uses of _path_commands 2015-05-28 22:45:34 +02:00
Daniel Hahler
068558616a 35261: completion: git: __git_recent_commits: local ret
Without this, `ret` will be set to 1 with `git diff --ex<tab>` and
result in duplicate entries:

   % git diff --ex<tab>
    -- option --
   --exit-code    -- report exit code 1 if differences, 0 otherwise
   --exit-code  -- report exit code 1 if differences, 0 otherwise
   --ext-diff     -- allow external diff helper to be executed
   --ext-diff   -- allow external diff helper to be executed
   --no-ext-diff  -- disallow external diff helper to be executed
    -- recent commit object name --
2015-05-22 01:12:10 +02:00
Daniel Shahaf
c174947040 35224: completion: git: Add fast-export --signed-tags=warn-strip 2015-05-19 20:35:14 +00:00
Daniel Hahler
a0d269460a 35217: add missing changelog entry; use "-O expl" with _alternative 2015-05-19 10:43:24 +02:00
Daniel Hahler
7408f91d31 35217: completion: git: send-email: complete (recent) commits
This adds `__git_commit_objects_prefer_recent` as alternative for
git-send-email's completion.
2015-05-19 10:28:51 +02:00
Daniel Hahler
8f6823b710 __git_commit_objects: do not use _guard, but only a pattern
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.
2015-05-19 08:50:42 +02:00
Daniel Hahler
ed3e5f521d Completion/Unix/Command/_git: remove -2 with __git_recent_commits
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
2015-05-19 07:49:48 +02:00
Daniel Hahler
d0057538d3 35204: fix broken __git_recent_commits from previous commit
This fixes 1e7bb4a: newlines need to be kept (from the "%d" part).
2015-05-19 06:38:43 +02:00
Daniel Hahler
1e7bb4a8f8 35164: fix __git_commit_objects/__git_recent_commits
$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.
2015-05-19 05:42:21 +02:00
Daniel Shahaf
6bfe6fd84b users/20222: completion: git: Add matchspec for heads
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 '**'.
2015-05-19 01:55:15 +00:00
Daniel Shahaf
34a1489f43 35105: completion: git: add distance_from_head to __git_recent_commits
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)
2015-05-18 02:48:03 +02:00
Daniel Hahler
733db1b411 35106: completion: git: unique name for __git_recent_commits
This helps to distinguish it from __git_commit_objects.
2015-05-18 02:48:03 +02:00
Daniel Hahler
a0b221e7c5 35103: completion: git: add %cr to commit objects (all and recent) 2015-05-18 02:48:03 +02:00
Daniel Hahler
94c6b32fe7 35104: completion: git: __git_commit_objects: query 1000 commits
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.
2015-05-18 02:48:03 +02:00
Daniel Hahler
454f079852 35101: completion: git: add __git_commit_objects_prefer_recent
This is used with __git_commits then, and is meant to only call
__git_recent_commits, if there are matches.
2015-05-18 02:48:03 +02:00