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