{"action":"created","issue":{"url":"https://api.github.com/repos/pyinvoke/invoke/issues/104","labels_url":"https://api.github.com/repos/pyinvoke/invoke/issues/104/labels{/name}","comments_url":"https://api.github.com/repos/pyinvoke/invoke/issues/104/comments","events_url":"https://api.github.com/repos/pyinvoke/invoke/issues/104/events","html_url":"https://github.com/pyinvoke/invoke/issues/104","id":24687432,"number":104,"title":"Tab completion flags","user":{"login":"bitprophet","id":6088,"avatar_url":"https://avatars.githubusercontent.com/u/6088?v=3","gravatar_id":"","url":"https://api.github.com/users/bitprophet","html_url":"https://github.com/bitprophet","followers_url":"https://api.github.com/users/bitprophet/followers","following_url":"https://api.github.com/users/bitprophet/following{/other_user}","gists_url":"https://api.github.com/users/bitprophet/gists{/gist_id}","starred_url":"https://api.github.com/users/bitprophet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitprophet/subscriptions","organizations_url":"https://api.github.com/users/bitprophet/orgs","repos_url":"https://api.github.com/users/bitprophet/repos","events_url":"https://api.github.com/users/bitprophet/events{/privacy}","received_events_url":"https://api.github.com/users/bitprophet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pyinvoke/invoke/labels/Core+CLI+behavior","name":"Core CLI behavior","color":"444444"},{"url":"https://api.github.com/repos/pyinvoke/invoke/labels/Parser","name":"Parser","color":"444444"},{"url":"https://api.github.com/repos/pyinvoke/invoke/labels/Support","name":"Support","color":"4070a0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2013-12-22T21:01:05Z","updated_at":"2015-01-06T18:02:50Z","closed_at":null,"body":"See e.g. https://github.com/hhatto/zsh_completions/blob/master/_invoke for a zsh completion somebody wrote for Invoke as-is. My ideas for this (on top of whatever is in [Fabric #6](https://github.com/fabric/fabric/issues/6)) is to use Invoke's existing parser to print easily computer readable info, e.g.:\r\n\r\n> [12:56:44] <bitprophet>\t instead, output the flags/opts in a manner that is easier to parse, ditto for subcommand list\r\n[12:56:51] <bitprophet>\t and, I assume zsh supports this, the flags for each subcommand as well\r\n[12:57:28] <bitprophet>\t So one can: inv \\<tab, see flags/commands> mycom\\<tab, completes 'mycommand'> \\<tab, see 'mycommand' specific flags>\r\n[12:58:17] <bitprophet>\t So as long as I can make it easy to do stuff like 'inv --opts' or 'inv --opts <subcommand>' or a more computer-formatted 'inv --list'...anybody who knows their shell's completion setup can adapt that info"},"comment":{"url":"https://api.github.com/repos/pyinvoke/invoke/issues/comments/68904618","html_url":"https://github.com/pyinvoke/invoke/issues/104#issuecomment-68904618","issue_url":"https://api.github.com/repos/pyinvoke/invoke/issues/104","id":68904618,"user":{"login":"bitprophet","id":6088,"avatar_url":"https://avatars.githubusercontent.com/u/6088?v=3","gravatar_id":"","url":"https://api.github.com/users/bitprophet","html_url":"https://github.com/bitprophet","followers_url":"https://api.github.com/users/bitprophet/followers","following_url":"https://api.github.com/users/bitprophet/following{/other_user}","gists_url":"https://api.github.com/users/bitprophet/gists{/gist_id}","starred_url":"https://api.github.com/users/bitprophet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitprophet/subscriptions","organizations_url":"https://api.github.com/users/bitprophet/orgs","repos_url":"https://api.github.com/users/bitprophet/repos","events_url":"https://api.github.com/users/bitprophet/events{/privacy}","received_events_url":"https://api.github.com/users/bitprophet/received_events","type":"User","site_admin":false},"created_at":"2015-01-06T18:02:50Z","updated_at":"2015-01-06T18:02:50Z","body":"Nothing blocking it besides time/priorities :( since someone (you) is currently active & willing to poke at the shell side of things, I'll see if I can put some time aside this week to review #163 and do whatever else is necessary to get this stuff exported in a friendly manner. Thanks!"}}