1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-07-12 17:11:25 +02:00
Commit graph

446 commits

Author SHA1 Message Date
Daniel Shahaf
c2592b4f72 39122: __git_recent_branches: Silence warning on an edge case.
(The warning was correct; there is no functional change, though.)
2016-08-31 02:23:39 +00:00
Daniel Shahaf
317c96b64f 39102: __git_recent_branches: Optimise.
This improves performance from 0.6s to 0.04s (+93%) on one of Daniel Hahler's repositories.
2016-08-25 18:12:41 +00:00
Daniel Shahaf
4d995160e4 39094: _git-config: When an option is unknown, complete its value to the set value. 2016-08-24 21:15:00 +00:00
Oliver Kiddle
18aa25c75d unposted (c.f. Mikael: 39078): fix for git blame terms 2016-08-22 11:54:04 +02:00
Daniel Shahaf
c8b228b1ea unposted: _git-config: sendemail.smtpserver: Correct tags. 2016-08-22 03:38:12 +00:00
Oliver Kiddle
31dc8b52b5 39072: minor tweaks 2016-08-19 19:11:07 +02:00
Daniel Hahler
ef64b6a929 39040: Completion/…/_git: fix missing backslashes in 39036 2016-08-15 12:06:58 +02:00
Oliver Kiddle
30aafc0b68 39036: update git completion for new options up to git 2.9.2 2016-08-13 01:37:57 +02:00
Daniel Shahaf
faa163cd5f 38964: _git-config: Complete option names present in the config file.
This patch lets
.
    git config x.y.z value
    git config <TAB>
.
complete 'x.y.z', even if x.y.z isn't hardcoded into _git-config.
2016-08-01 08:01:27 +00:00
Daniel Shahaf
b056d8c909 38963: _git-config: Run gettable-options earlier and in all codepaths.
No change to completions; this is preparation for the next commit.
2016-08-01 08:01:26 +00:00
Daniel Shahaf
0782e0a0a6 38961: _git-config: No functional change: rename $git_options_static to $git_options in preparation for the after-next commit. 2016-08-01 08:01:24 +00:00
Daniel Shahaf
9ef02744dd unposted: _git: Clean up superfluous and missing backslashes. 2016-07-31 16:21:33 +00:00
Daniel Shahaf
774f654e36 38962: _git-config: Document more line noise. 2016-07-31 16:21:28 +00:00
Daniel Shahaf
8e06a6a28a unposted (after 38939): _git-rebase: Unbreak. 2016-07-27 14:04:40 +00:00
Oliver Kiddle
4f5cc54560 38939: add missing git options
In particular those for GPG signing a push
2016-07-25 00:06:57 +02:00
Daniel Shahaf
3afaebd913 unposted: _git-grep: Stop leaking the parameter $i. 2016-07-23 18:02:29 +00:00
Daniel Shahaf
db9f0d3b3e unposted (cf. users/21737):: _git-subtree: Record technical debt in comment. 2016-07-17 14:55:35 +00:00
Daniel Shahaf
d09cb7e979 users/21750 (after users/21551): _git-subtree: Tweak -m,-P completions 2016-07-17 14:53:12 +00:00
Jordan Klassen
92d516cfa7 users/21551 (tweaked per users/21560): new git subtree completion 2016-07-05 23:29:40 +02:00
Daniel Shahaf
3a034838b4 38760: _git-config: Stop trying to execute the empty string command name upon completing values for an unknown option.
For example:

% git config x.y.z <TAB>
+_git-config:834> case x.y.z (alias.*)
+_git-config:834> case x.y.z (remotes.*)
+_git-config:860> local z=$'\C-@'
+_git-config:861> declare -a parts
+_git-config:862> parts=( '' )
+_git-config:863> ((  1 < 2  ))
+_git-config:863> [[ x.y.z == [^.]##.*.[^.]## ]]
+_git-config:864> parts=( '' )
+_git-config:866> ((  1 > 0  ))
+_git-config:867> case  (-\>*)
+_git-config:867> case  (*)
+_git-config:1197> declare -a action
+_git-config:1198> _description values expl ''
+_git-config:1199> eval 'action=()'
+(eval):1> action=( )
+_git-config:1200> '' -J values
_git-config:1200: permission denied:
+_git-config:1206> return ret
2016-06-27 00:21:02 +00:00
Daniel Shahaf
3bd8abc40b unposted: _git-config: Document some line noise. 2016-06-25 16:33:33 +00:00
Daniel Shahaf
59bf331d27 unposted: _git-config: Fix syntax error in 'tag.sort' completion. 2016-06-25 16:32:34 +00:00
Daniel Shahaf
aa160fc8e9 38651: _git: Escape parameter arguments to _call_program.
Fixes 'git cat-file blob HEAD^:<TAB>' and a few other cases.
2016-06-13 08:53:17 +00:00
Daniel Shahaf
ec7088296b 38665: _git: config option completion: Quote properly. 2016-06-13 08:53:14 +00:00
Daniel Shahaf
0516736eae 38624: _git: Optimize the last commit's __git_recent_branches__names as suggested by Matthew. 2016-06-07 22:53:51 +00:00
Daniel Shahaf
6e834587eb 38592 (plus tweak): _git: New recent branches completion, unused. (Joint with Nils Luxton) 2016-06-07 22:53:46 +00:00
Daniel Shahaf
713eaa055d 38576: _git: Also detect _git-${thirdparty} functions in $fpath that are symlinks. 2016-06-03 02:21:54 +00:00
Russell Currey
058d957ce5 38393: _git: Fix typo in completion of '--minimal'
Signed-off-by: Russell Currey <ruscur@russell.cc>
2016-05-03 11:26:54 +00:00
Daniel Shahaf
276a690a2e _git: Complete fetchy refspecs correctly. 2016-05-01 01:52:29 +00:00
Daniel Shahaf
fe21e49a6d _git: Bifurcate __git_ref_specs.
No functional change, except for completion of 'git bundle' and 'git config
branch.*.merge'; this is a required groundwork for future patches.
2016-05-01 01:52:29 +00:00
Daniel Shahaf
c57d8dfcaa _git: Fix an apparent typo in __git_heads().
I couldn't reproduce different behaviour with and without this patch, although
the called command's output differs.
2016-05-01 01:52:28 +00:00
Daniel Shahaf
3e26848ef4 _git: Offer alternatives properly. 2016-05-01 01:52:28 +00:00
Daniel Shahaf
2979122d2d _git-bundle: Complete required file argument to 'git bundle' correctly. 2016-05-01 01:52:28 +00:00
Daniel Shahaf
442d702bbc 38316: _git-rebase: Complete any committish for the second argument 2016-04-23 21:28:21 +00:00
Daniel Shahaf
4df62e32fc 38255: _git: Fix argument pastedness.
Found by searching for /-\w\>.*:/.

This covers short options only, from the top of file through _git-tag().
2016-04-09 03:35:14 +00:00
Daniel Shahaf
9f70404714 38182: _git: Invoke reflog completion from the 'complete commit objects' codepath.
The reflog will only be used if the user has typed as "@" by hand.
2016-03-21 16:12:15 +00:00
Daniel Shahaf
ce4c9eafc4 38181: _git reflog: Complete '@{N}' instead of 'HEAD@{N}'.
The «HEAD@{...}» syntax is no longer completed, since it's not easily possible
to support both syntaxes (workers/34768).
2016-03-21 16:12:13 +00:00
Daniel Shahaf
67136df0bf 38180: _git: Improve reflog completion.
Currently, only used by «git reflog delete <TAB>».
2016-03-21 16:12:10 +00:00
m0viefreak
a1f45b3346 38151: _git: fix tag name of remote branches 2016-03-15 00:07:18 +00:00
m0viefreak
666a7f5845 38148: _git: reflog: complete references next to commands
'git reflog show' is the default subcommand, so

  git reflog <tab>

should complete subcommands and references.
2016-03-15 00:07:15 +00:00
Daniel Shahaf
527badc237 38129: _git: Fix __git_ignore_line's treatment of shell and pattern metacaracters.
Builds upon a patch by Jun T.

Also upgrade/fix __git_pattern_escape.
2016-03-11 22:19:04 +00:00
Daniel Shahaf
98fcdb0861 38128: _git: Fix completion of diffs against the index when treeish isn't shell-safe
This affects 'git diff --cached -- <TAB>' and 'git reset $treeish <TAB>'.
2016-03-10 23:18:36 +00:00
Daniel Shahaf
be41c522f2 38123 (after 38074): _git reset $treeish: complete only staged files 2016-03-10 23:18:15 +00:00
Daniel Shahaf
33bd9136d6 38120: _git: Document the internal helper function __git_ignore_line. 2016-03-09 14:08:49 +00:00
Jun-ichi Takimoto
983060d5d1 38074: _git reset HEAD: complete only staged files 2016-03-08 21:21:44 +09:00
Daniel Shahaf
8a59aed696 37924: Completion: _git: Complete files for 'check-ignore'
Also, don't leak the parameter 'ret'; the leak was theoretical because
the caller immediately wrote to that parameter.
2016-02-09 03:41:46 +00:00
Daniel Shahaf
295133d741 37703: Completion: git: Also complete sendmail commands for send-email's configuration. (after 37666) 2016-01-23 23:50:04 +00:00
Daniel Shahaf
3eb4d9c2e2 37666: Completion: git: 'send-email --smtp-server=' takes absolute path to sendmail. 2016-01-20 07:49:30 +00:00
Daniel Shahaf
c6fc6f80cd 37665: Completion: New helper _absolute_command_paths. 2016-01-20 07:49:29 +00:00
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
Daniel Hahler
1d5b225498 35100: __git_recent_commits: massage ' ->*' from heads
Handle " -> master, origin/master" in decorated git-log output, and add
it as separate entries.
2015-05-18 02:48:03 +02:00
Daniel Hahler
895408bb81 completion: git: add missing return to __git_recent_commits 2015-05-17 19:54:15 +02:00
Daniel Shahaf
7990cf983e 35161: completion: git: Fix typo in 35061 2015-05-16 22:57:22 +00:00
Oliver Kiddle
32a448dc25 users/20219: fix completion for git options 2015-05-15 18:04:40 +02:00
Daniel Hahler
968c5ceaa7 35062: __git_setup_revision_options includes __git_setup_diff_options 2015-05-14 19:03:21 +02:00
Daniel Hahler
a1c1f6828c 35061: add __git_setup_diff_stage_options and use it with _git-diff-files and _git-diff explicitly 2015-05-14 19:00:32 +02:00
Daniel Hahler
fec4e7243b 35016: introduce new pretty formats %g[sdD] for reflog information 2015-05-14 18:56:23 +02:00
Daniel Hahler
b884853756 35060 + 35072: completion: git: split __git_heads into local and remote
It is useful to have this distinction visually.

This also uses `--format=%(refname:short)` directly with `git
for-each-ref`.
2015-05-12 00:59:07 +00:00
Daniel Shahaf
122bb9a125 34886: completion: git: Complete rebase --exec argument 2015-04-13 21:01:45 +00:00
Daniel Shahaf
7793ebcb71 34885: completion: git: Sort "commit object" completions most recent first 2015-04-13 20:59:19 +00:00
Daniel Shahaf
7929dd8cba 34885: completion: git: Fix another instance of the 34671 bug fixed in 34814 2015-04-13 20:59:02 +00:00
Daniel Hahler
ca8edaba92 34748: completion: git: update list of builtintools 2015-04-10 16:24:42 +00:00
Daniel Shahaf
727533088a 34814: completion: git: Fix bug introduced by 236da69
Based on a patch by Daniel Hahler <git@thequod.de>.
2015-04-01 09:44:26 +00:00
Daniel Hahler
0b79922edb 34762: completion: git: add short option for '--dir-diff' (_git-difftool) 2015-03-29 05:52:44 +00:00
Daniel Shahaf
e176eff554 34739: git completion: Fix regression in ce80a92
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>'.
2015-03-19 06:51:32 +00:00
Daniel Shahaf
236da69842 34671 plus tweaks: Add -1 -2 -J -V -x to _describe, use them to sort 'git --fixup' hash completions 2015-03-16 09:27:06 +00:00
Daniel Shahaf
097dedf9ab 34671: git completion: only offer recent commits' tags/heads for --fixup 2015-03-16 09:25:39 +00:00
Daniel Hahler
ce80a925d6 34638 with tweaks: git completion: complete commit hashes and --fixup 2015-03-07 03:56:48 +00:00
Daniel Hahler
7d15b9a9cb 34468: completion: git: stash: handle 'save' being the default
"git stash" should complete arguments for "git stash save", but without
the message part.
2015-02-08 20:27:26 +01:00
Daniel Hahler
8f403ab25c 34467: completion: git: minor doc fixes
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?!
2015-02-08 20:27:25 +01:00
Daniel Hahler
ffaf99288f 34469: git completion: add "stash" from refs/stash to __git_heads 2015-02-08 20:27:25 +01:00
Daniel Shahaf
a5333cc344 34444: git completion: minor improvements
- 'git rebase': complete arguments in the same word as the option

- 'git commit': provide message for --fixup/--squash
2015-02-02 15:32:59 +00:00
Wieland Hoffmann
9ca77b2143 _git: Change one --validate to --no-validate
As the description of that argument says, it's used to *not* perform
sanity checks.
2015-01-17 13:00:23 +01:00
Daniel Shahaf
c7850ac4f6 34042: _git: Respect tags for subcommand completion.
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
2015-01-05 15:57:42 +00:00
Peter Stephenson
9161a16b2e 33729: "git remote add" should complete local repositories 2014-11-23 21:03:37 +00:00
Oliver Kiddle
13fc579343 33467: correct return status on functions and numerous other minor fixes 2014-10-14 23:04:45 +02:00
Øystein Walle
95a6d965c5 33180: _git: add missing --3way option 2014-09-23 22:26:22 +02:00
Øystein Walle
93702691ec 33177: _git: fix typo in git-apply 2014-09-23 22:26:21 +02:00
Øystein Walle
d338cc5395 33178: _git: updates for Git 2.1.0
This incorporates changes mentioned in the release notes since 2.0.0.
2014-09-23 22:26:21 +02:00
Øystein Walle
56116a763a 33176: _git: Add missing --list to git-tag 2014-09-23 22:26:20 +02:00
Øystein Walle
8560d4ff31 33179: _git: updates for Git 2.0.0
This incorporates changes mentioned in the release notes since 1.9.0.
2014-09-23 22:26:20 +02:00
Marc Finet
089123f9e8 33150: completion git: fix send-email --confirm values 2014-09-14 12:02:38 +02:00
Marc Finet
ffd439b69b 33151: completion git: support aliases when \n exist
The git completion for aliases (i.e. completing with aliased verb)
was broken whem some \n exist in aliases.
2014-09-14 12:02:35 +02:00
Barton E. Schaefer
2e99ef809d un-transpose help text for git merge -{-no,}-verify 2014-08-24 08:43:40 -07:00
m0viefreak
cd2eb07a78 m0viefreak: users/18655,18657,18660: assorted auto-removable suffix fixes
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
2014-03-23 13:02:12 -07:00
Takeshi Banse
ab917d4a0e 32502: fix typo in argument list for git completio 2014-03-21 19:42:02 +00:00
Oliver Kiddle
079540cc78 users/18485: add .. as an auto-removable suffix in git revision ranges 2014-02-25 08:59:20 +01:00
m0viefreak
b97808fba2 32398: _git: completion updates up to latest git v1.9.0
- 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
2014-02-18 12:22:21 +01:00
m0viefreak
f8e874ef9d 32397: _git: fix __git_submodules to only use the actual name of the submodule
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.
2014-02-18 12:22:21 +01:00
m0viefreak
139ee0e351 32395: _git: diff: refactor and fix wrong completions
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.
2014-02-18 12:22:16 +01:00
m0viefreak
946a99a0b3 32396: _git: fix __git_committish_range_{first,last} and __git_is_committish_range
- Ranges with 3 dots would always fail, because the non-greedy
  expansion  %..(.|)* in __git_committish_range_first would only
  remove '..' and never three dots. 'a...b' would end up in 'a.'.
  Use ${${1%..*}%.} instead.
- Use a similar approach for __git_committish_range_last.
- Wrap them in another expansion to replace empty results with 'HEAD'.
  Git man-page states omitted range ending are being replaced with
  HEAD. This rule has to be followed to make completions like
  'git log foo.. -- <tab>' work properly.
- Add an additional check to make sure none of the extracted first/last
  parts contain additional '..' in invalied ranges such as 'a..b..c'.
  This gets rid of the 'TODO:' and ideally saves a few unneded
  calls to git rev-parse.
2014-02-18 12:19:23 +01:00
Barton E. Schaefer
a2098b0b26 users/18368: compromise to restore partial path completion inadvertently removed by 31159 2014-01-27 21:54:13 -08:00
Hong Xu
567b494033 32069: completion for "git submodule update --remote" 2013-11-30 12:46:19 -08:00
Peter Stephenson
4163ebf4c7 unposted, see 32054: Rationalise character encoding.
Shell functions are strictly ASCII for maximum portability.

Other files within the distribution may contain UTF-8 characters.

Exception for test files: where they need single character input
with the top bit set, ISO-8859-X is used (X doesn't matter as
we don't need the Euro).
2013-11-27 15:56:44 +00:00
Øystein Walle
95a5ca90d9 31865: _git: Make --batch(-check) accept an argument
Also reword the explanation slightly to make it more compact since more
explanation is needed.
2013-10-21 17:40:13 +02:00
Øystein Walle
3d77fa789d 31864: _git: Add two sub-comamnds introduced in v1.8.4
Add _git-check-ignore() and _git-check-mailmap()
2013-10-21 17:40:12 +02:00
Øystein Walle
32ffba1214 31866: _git: Reword --heads to match new meaning 2013-10-21 17:40:09 +02:00
Øystein Walle
baee0a2295 31862: _git: Add status.short and status.branch 2013-10-21 17:40:07 +02:00
Øystein Walle
805b665901 31863: _git: Add new arguments introduced in Git v1.8.4 2013-10-21 17:40:03 +02:00
Øystein Walle
e91d90125b 31861: _git: Add git-clean -i/--interactive support
- Add -i and --interactive to _git-clean()
 - Add column.clean configuration variable
2013-10-21 17:40:01 +02:00
m0viefreak
7a37568b8c 31855: _git: revert: add '-e,--edit' 2013-10-21 17:39:59 +02:00