{"action":"created","issue":{"url":"https://api.github.com/repos/Quick/Nimble/issues/217","labels_url":"https://api.github.com/repos/Quick/Nimble/issues/217/labels{/name}","comments_url":"https://api.github.com/repos/Quick/Nimble/issues/217/comments","events_url":"https://api.github.com/repos/Quick/Nimble/issues/217/events","html_url":"https://github.com/Quick/Nimble/issues/217","id":117230161,"number":217,"title":"Protocol Extension Discoverability","user":{"login":"stephencelis","id":658,"avatar_url":"https://avatars.githubusercontent.com/u/658?v=3","gravatar_id":"","url":"https://api.github.com/users/stephencelis","html_url":"https://github.com/stephencelis","followers_url":"https://api.github.com/users/stephencelis/followers","following_url":"https://api.github.com/users/stephencelis/following{/other_user}","gists_url":"https://api.github.com/users/stephencelis/gists{/gist_id}","starred_url":"https://api.github.com/users/stephencelis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephencelis/subscriptions","organizations_url":"https://api.github.com/users/stephencelis/orgs","repos_url":"https://api.github.com/users/stephencelis/repos","events_url":"https://api.github.com/users/stephencelis/events{/privacy}","received_events_url":"https://api.github.com/users/stephencelis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-11-16T22:10:24Z","updated_at":"2015-11-17T04:05:30Z","closed_at":null,"body":"Would there be any interest in updating Nimble's matchers to work using protocol extensions for discoverability?\r\n\r\n_E.g._,\r\n\r\n``` swift\r\n// before\r\nexpect(1 + 1).to(equal(2))\r\nexpect(1.2).to(beCloseTo(1.1, within: 0.1))\r\nexpect(3) > 2\r\nexpect(\"seahorse\").to(contain(\"sea\"))\r\nexpect([\"Atlantic\", \"Pacific\"]).toNot(contain(\"Mississippi\"))\r\nexpect(ocean.isClean).toEventually(beTruthy())\r\n\r\n// after\r\nexpect(1 + 1).to.equal(2)\r\nexpect(1.2).to.beCloseTo(1.1, within: 0.1)\r\nexpect(3).to.beGreaterThan(2) // more verbose, but discoverable\r\nexpect(\"seahorse\").to.contain(\"sea\")\r\nexpect([\"Atlantic\", \"Pacific\"]).toNot.contain(\"Mississippi\")\r\nexpect(ocean.isClean).toEventually.beTruthy()\r\n```\r\n\r\nHaving smarter auto-completion can be invaluable when first using a project and can help users discover APIs that they may have otherwise never used."},"comment":{"url":"https://api.github.com/repos/Quick/Nimble/issues/comments/157262539","html_url":"https://github.com/Quick/Nimble/issues/217#issuecomment-157262539","issue_url":"https://api.github.com/repos/Quick/Nimble/issues/217","id":157262539,"user":{"login":"modocache","id":552921,"avatar_url":"https://avatars.githubusercontent.com/u/552921?v=3","gravatar_id":"","url":"https://api.github.com/users/modocache","html_url":"https://github.com/modocache","followers_url":"https://api.github.com/users/modocache/followers","following_url":"https://api.github.com/users/modocache/following{/other_user}","gists_url":"https://api.github.com/users/modocache/gists{/gist_id}","starred_url":"https://api.github.com/users/modocache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modocache/subscriptions","organizations_url":"https://api.github.com/users/modocache/orgs","repos_url":"https://api.github.com/users/modocache/repos","events_url":"https://api.github.com/users/modocache/events{/privacy}","received_events_url":"https://api.github.com/users/modocache/received_events","type":"User","site_admin":false},"created_at":"2015-11-17T04:05:30Z","updated_at":"2015-11-17T04:05:30Z","body":"Well, I mean, whatever @jeffh thinks is a good idea. I'm just throwing it out there. Seems like we have to compromise on the API to be backwards-compatible, so what does it look like if we remove that constraint?"}}