{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift-package-manager/issues/843","repository_url":"https://api.github.com/repos/apple/swift-package-manager","labels_url":"https://api.github.com/repos/apple/swift-package-manager/issues/843/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift-package-manager/issues/843/comments","events_url":"https://api.github.com/repos/apple/swift-package-manager/issues/843/events","html_url":"https://github.com/apple/swift-package-manager/pull/843","id":194854177,"number":843,"title":"Generate shell completion scripts","user":{"login":"Bouke","id":235882,"avatar_url":"https://avatars.githubusercontent.com/u/235882?v=3","gravatar_id":"","url":"https://api.github.com/users/Bouke","html_url":"https://github.com/Bouke","followers_url":"https://api.github.com/users/Bouke/followers","following_url":"https://api.github.com/users/Bouke/following{/other_user}","gists_url":"https://api.github.com/users/Bouke/gists{/gist_id}","starred_url":"https://api.github.com/users/Bouke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bouke/subscriptions","organizations_url":"https://api.github.com/users/Bouke/orgs","repos_url":"https://api.github.com/users/Bouke/repos","events_url":"https://api.github.com/users/Bouke/events{/privacy}","received_events_url":"https://api.github.com/users/Bouke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"Bouke","id":235882,"avatar_url":"https://avatars.githubusercontent.com/u/235882?v=3","gravatar_id":"","url":"https://api.github.com/users/Bouke","html_url":"https://github.com/Bouke","followers_url":"https://api.github.com/users/Bouke/followers","following_url":"https://api.github.com/users/Bouke/following{/other_user}","gists_url":"https://api.github.com/users/Bouke/gists{/gist_id}","starred_url":"https://api.github.com/users/Bouke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bouke/subscriptions","organizations_url":"https://api.github.com/users/Bouke/orgs","repos_url":"https://api.github.com/users/Bouke/repos","events_url":"https://api.github.com/users/Bouke/events{/privacy}","received_events_url":"https://api.github.com/users/Bouke/received_events","type":"User","site_admin":false},"assignees":[{"login":"Bouke","id":235882,"avatar_url":"https://avatars.githubusercontent.com/u/235882?v=3","gravatar_id":"","url":"https://api.github.com/users/Bouke","html_url":"https://github.com/Bouke","followers_url":"https://api.github.com/users/Bouke/followers","following_url":"https://api.github.com/users/Bouke/following{/other_user}","gists_url":"https://api.github.com/users/Bouke/gists{/gist_id}","starred_url":"https://api.github.com/users/Bouke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bouke/subscriptions","organizations_url":"https://api.github.com/users/Bouke/orgs","repos_url":"https://api.github.com/users/Bouke/repos","events_url":"https://api.github.com/users/Bouke/events{/privacy}","received_events_url":"https://api.github.com/users/Bouke/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-12-11T20:27:27Z","updated_at":"2016-12-21T15:08:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift-package-manager/pulls/843","html_url":"https://github.com/apple/swift-package-manager/pull/843","diff_url":"https://github.com/apple/swift-package-manager/pull/843.diff","patch_url":"https://github.com/apple/swift-package-manager/pull/843.patch"},"body":"This is in addition to the work done in [PR#703][1]. The status of this PR is WIP and pushed to get feedback from the maintainers.\r\n\r\nI've made a few changes to the public API of ArgumentParser to get all the meta data required to generate the scripts, as well as the descriptions that zsh shows. For the SwiftPM tools, this means no duplication of the arguments anymore inside SwiftPM.\r\n\r\nThings left to tackle:\r\n* [ ] Review of the code\r\n* [x] Support positional arguments\r\n* [x] Cleanup the code along with some documentation\r\n\r\nNot handled in this PR, requires further discussion:\r\n* Compiler flags are still duplicated; should we add some sort of \"discovery\" based on the output of `swift -h`? -- What to do with flags we cannot handle (nicely), like `-l<name>`?\r\n* How to include this in the toolchain?\r\n* How to generate the full completion script, including setup code? (see `_swift` functions in the current scripts under `Utilities/{bash,zsh}`.\r\n\r\n[1]: https://github.com/apple/swift-package-manager/pull/703"},"comment":{"url":"https://api.github.com/repos/apple/swift-package-manager/issues/comments/268545525","html_url":"https://github.com/apple/swift-package-manager/pull/843#issuecomment-268545525","issue_url":"https://api.github.com/repos/apple/swift-package-manager/issues/843","id":268545525,"user":{"login":"Bouke","id":235882,"avatar_url":"https://avatars.githubusercontent.com/u/235882?v=3","gravatar_id":"","url":"https://api.github.com/users/Bouke","html_url":"https://github.com/Bouke","followers_url":"https://api.github.com/users/Bouke/followers","following_url":"https://api.github.com/users/Bouke/following{/other_user}","gists_url":"https://api.github.com/users/Bouke/gists{/gist_id}","starred_url":"https://api.github.com/users/Bouke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bouke/subscriptions","organizations_url":"https://api.github.com/users/Bouke/orgs","repos_url":"https://api.github.com/users/Bouke/repos","events_url":"https://api.github.com/users/Bouke/events{/privacy}","received_events_url":"https://api.github.com/users/Bouke/received_events","type":"User","site_admin":false},"created_at":"2016-12-21T15:08:05Z","updated_at":"2016-12-21T15:08:05Z","body":"Ok I've dropped the script generation commands from this PR. I've included information in the generated output on how to use the shell scripts. I've also rebased the PR on top of master."}}
{"actor":{"display_login":"Bouke"}}