{"action":"created","comment":{"url":"https://api.github.com/repos/fastlane/fastlane/pulls/comments/58629828","id":58629828,"diff_hunk":"@@ -104,17 +104,31 @@ def self.print_table(actions)\n     # @param platform: is probably nil, but user might have called `fastlane android`, and only wants to list those actions\n     def self.choose_lane(ff, platform)\n       loop do\n-        UI.error \"You must provide a lane to drive. Available lanes:\"\n-        available = ff.runner.available_lanes(platform)\n-\n+        UI.message \"Welcome to fastlane! Here's what your app is setup to do:\".white\n+        available = ff.runner.lanes[platform].to_a\n+        rows = []\n         available.each_with_index do |lane, index|\n-          UI.message \"#{index + 1}) #{lane}\"\n+          row = [index + 1, lane.last.pretty_name, lane.last.description.first]\n+          rows << row\n+        end\n+\n+        if rows.size > 0\n+          rows << [rows.size + 1, \"cancel\", \"No selection!\"]\n         end\n \n+        table = Terminal::Table.new(\n+          title: \"Available lanes to run\".white,\n+          headings: ['Number'.white, 'Lane Name'.white, 'Description'.white],\n+          rows: rows\n+        )\n+        puts table\n+\n+        UI.message \"Which number would you like run?\".white\n+\n         i = $stdin.gets.strip.to_i - 1\n         if i >= 0 and available[i]","path":"fastlane/lib/fastlane/lane_manager.rb","position":30,"original_position":30,"commit_id":"215ad4485c5a2d6ff8cb6c84a7cb2d04db91fa25","original_commit_id":"215ad4485c5a2d6ff8cb6c84a7cb2d04db91fa25","user":{"login":"mfurtak","id":343134,"avatar_url":"https://avatars.githubusercontent.com/u/343134?v=3","gravatar_id":"","url":"https://api.github.com/users/mfurtak","html_url":"https://github.com/mfurtak","followers_url":"https://api.github.com/users/mfurtak/followers","following_url":"https://api.github.com/users/mfurtak/following{/other_user}","gists_url":"https://api.github.com/users/mfurtak/gists{/gist_id}","starred_url":"https://api.github.com/users/mfurtak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfurtak/subscriptions","organizations_url":"https://api.github.com/users/mfurtak/orgs","repos_url":"https://api.github.com/users/mfurtak/repos","events_url":"https://api.github.com/users/mfurtak/events{/privacy}","received_events_url":"https://api.github.com/users/mfurtak/received_events","type":"User","site_admin":false},"body":"It's better to prefer `&&` over `and`\r\n\r\n`and` (and `or`) can have surprising behavior when it comes to association and order of operations.","created_at":"2016-04-05T23:14:04Z","updated_at":"2016-04-05T23:14:04Z","html_url":"https://github.com/fastlane/fastlane/pull/4076#discussion_r58629828","pull_request_url":"https://api.github.com/repos/fastlane/fastlane/pulls/4076","_links":{"self":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/comments/58629828"},"html":{"href":"https://github.com/fastlane/fastlane/pull/4076#discussion_r58629828"},"pull_request":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/4076"}}},"pull_request":{"url":"https://api.github.com/repos/fastlane/fastlane/pulls/4076","id":65379119,"html_url":"https://github.com/fastlane/fastlane/pull/4076","diff_url":"https://github.com/fastlane/fastlane/pull/4076.diff","patch_url":"https://github.com/fastlane/fastlane/pull/4076.patch","issue_url":"https://api.github.com/repos/fastlane/fastlane/issues/4076","number":4076,"state":"open","locked":false,"title":"Lanes table","user":{"login":"hemal","id":1069584,"avatar_url":"https://avatars.githubusercontent.com/u/1069584?v=3","gravatar_id":"","url":"https://api.github.com/users/hemal","html_url":"https://github.com/hemal","followers_url":"https://api.github.com/users/hemal/followers","following_url":"https://api.github.com/users/hemal/following{/other_user}","gists_url":"https://api.github.com/users/hemal/gists{/gist_id}","starred_url":"https://api.github.com/users/hemal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hemal/subscriptions","organizations_url":"https://api.github.com/users/hemal/orgs","repos_url":"https://api.github.com/users/hemal/repos","events_url":"https://api.github.com/users/hemal/events{/privacy}","received_events_url":"https://api.github.com/users/hemal/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-05T22:09:41Z","updated_at":"2016-04-05T23:14:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c956908a5ba0fd44378237c1353ed89bf06ab89a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fastlane/fastlane/pulls/4076/commits","review_comments_url":"https://api.github.com/repos/fastlane/fastlane/pulls/4076/comments","review_comment_url":"https://api.github.com/repos/fastlane/fastlane/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fastlane/fastlane/issues/4076/comments","statuses_url":"https://api.github.com/repos/fastlane/fastlane/statuses/215ad4485c5a2d6ff8cb6c84a7cb2d04db91fa25","head":{"label":"fastlane:lanes_table","ref":"lanes_table","sha":"215ad4485c5a2d6ff8cb6c84a7cb2d04db91fa25","user":{"login":"fastlane","id":11098337,"avatar_url":"https://avatars.githubusercontent.com/u/11098337?v=3","gravatar_id":"","url":"https://api.github.com/users/fastlane","html_url":"https://github.com/fastlane","followers_url":"https://api.github.com/users/fastlane/followers","following_url":"https://api.github.com/users/fastlane/following{/other_user}","gists_url":"https://api.github.com/users/fastlane/gists{/gist_id}","starred_url":"https://api.github.com/users/fastlane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fastlane/subscriptions","organizations_url":"https://api.github.com/users/fastlane/orgs","repos_url":"https://api.github.com/users/fastlane/repos","events_url":"https://api.github.com/users/fastlane/events{/privacy}","received_events_url":"https://api.github.com/users/fastlane/received_events","type":"Organization","site_admin":false},"repo":{"id":27442967,"name":"fastlane","full_name":"fastlane/fastlane","owner":{"login":"fastlane","id":11098337,"avatar_url":"https://avatars.githubusercontent.com/u/11098337?v=3","gravatar_id":"","url":"https://api.github.com/users/fastlane","html_url":"https://github.com/fastlane","followers_url":"https://api.github.com/users/fastlane/followers","following_url":"https://api.github.com/users/fastlane/following{/other_user}","gists_url":"https://api.github.com/users/fastlane/gists{/gist_id}","starred_url":"https://api.github.com/users/fastlane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fastlane/subscriptions","organizations_url":"https://api.github.com/users/fastlane/orgs","repos_url":"https://api.github.com/users/fastlane/repos","events_url":"https://api.github.com/users/fastlane/events{/privacy}","received_events_url":"https://api.github.com/users/fastlane/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fastlane/fastlane","description":"Connect all iOS and Android deployment tools into one streamlined workflow","fork":false,"url":"https://api.github.com/repos/fastlane/fastlane","forks_url":"https://api.github.com/repos/fastlane/fastlane/forks","keys_url":"https://api.github.com/repos/fastlane/fastlane/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fastlane/fastlane/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fastlane/fastlane/teams","hooks_url":"https://api.github.com/repos/fastlane/fastlane/hooks","issue_events_url":"https://api.github.com/repos/fastlane/fastlane/issues/events{/number}","events_url":"https://api.github.com/repos/fastlane/fastlane/events","assignees_url":"https://api.github.com/repos/fastlane/fastlane/assignees{/user}","branches_url":"https://api.github.com/repos/fastlane/fastlane/branches{/branch}","tags_url":"https://api.github.com/repos/fastlane/fastlane/tags","blobs_url":"https://api.github.com/repos/fastlane/fastlane/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fastlane/fastlane/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fastlane/fastlane/git/refs{/sha}","trees_url":"https://api.github.com/repos/fastlane/fastlane/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fastlane/fastlane/statuses/{sha}","languages_url":"https://api.github.com/repos/fastlane/fastlane/languages","stargazers_url":"https://api.github.com/repos/fastlane/fastlane/stargazers","contributors_url":"https://api.github.com/repos/fastlane/fastlane/contributors","subscribers_url":"https://api.github.com/repos/fastlane/fastlane/subscribers","subscription_url":"https://api.github.com/repos/fastlane/fastlane/subscription","commits_url":"https://api.github.com/repos/fastlane/fastlane/commits{/sha}","git_commits_url":"https://api.github.com/repos/fastlane/fastlane/git/commits{/sha}","comments_url":"https://api.github.com/repos/fastlane/fastlane/comments{/number}","issue_comment_url":"https://api.github.com/repos/fastlane/fastlane/issues/comments{/number}","contents_url":"https://api.github.com/repos/fastlane/fastlane/contents/{+path}","compare_url":"https://api.github.com/repos/fastlane/fastlane/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fastlane/fastlane/merges","archive_url":"https://api.github.com/repos/fastlane/fastlane/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fastlane/fastlane/downloads","issues_url":"https://api.github.com/repos/fastlane/fastlane/issues{/number}","pulls_url":"https://api.github.com/repos/fastlane/fastlane/pulls{/number}","milestones_url":"https://api.github.com/repos/fastlane/fastlane/milestones{/number}","notifications_url":"https://api.github.com/repos/fastlane/fastlane/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fastlane/fastlane/labels{/name}","releases_url":"https://api.github.com/repos/fastlane/fastlane/releases{/id}","deployments_url":"https://api.github.com/repos/fastlane/fastlane/deployments","created_at":"2014-12-02T17:00:38Z","updated_at":"2016-04-05T22:44:41Z","pushed_at":"2016-04-05T23:03:02Z","git_url":"git://github.com/fastlane/fastlane.git","ssh_url":"git@github.com:fastlane/fastlane.git","clone_url":"https://github.com/fastlane/fastlane.git","svn_url":"https://github.com/fastlane/fastlane","homepage":"https://fastlane.tools","size":55059,"stargazers_count":6843,"watchers_count":6843,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":867,"mirror_url":null,"open_issues_count":785,"forks":867,"open_issues":785,"watchers":6843,"default_branch":"master"}},"base":{"label":"fastlane:master","ref":"master","sha":"2f09f416411fd3ccdb14dbac69429db568da397c","user":{"login":"fastlane","id":11098337,"avatar_url":"https://avatars.githubusercontent.com/u/11098337?v=3","gravatar_id":"","url":"https://api.github.com/users/fastlane","html_url":"https://github.com/fastlane","followers_url":"https://api.github.com/users/fastlane/followers","following_url":"https://api.github.com/users/fastlane/following{/other_user}","gists_url":"https://api.github.com/users/fastlane/gists{/gist_id}","starred_url":"https://api.github.com/users/fastlane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fastlane/subscriptions","organizations_url":"https://api.github.com/users/fastlane/orgs","repos_url":"https://api.github.com/users/fastlane/repos","events_url":"https://api.github.com/users/fastlane/events{/privacy}","received_events_url":"https://api.github.com/users/fastlane/received_events","type":"Organization","site_admin":false},"repo":{"id":27442967,"name":"fastlane","full_name":"fastlane/fastlane","owner":{"login":"fastlane","id":11098337,"avatar_url":"https://avatars.githubusercontent.com/u/11098337?v=3","gravatar_id":"","url":"https://api.github.com/users/fastlane","html_url":"https://github.com/fastlane","followers_url":"https://api.github.com/users/fastlane/followers","following_url":"https://api.github.com/users/fastlane/following{/other_user}","gists_url":"https://api.github.com/users/fastlane/gists{/gist_id}","starred_url":"https://api.github.com/users/fastlane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fastlane/subscriptions","organizations_url":"https://api.github.com/users/fastlane/orgs","repos_url":"https://api.github.com/users/fastlane/repos","events_url":"https://api.github.com/users/fastlane/events{/privacy}","received_events_url":"https://api.github.com/users/fastlane/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fastlane/fastlane","description":"Connect all iOS and Android deployment tools into one streamlined workflow","fork":false,"url":"https://api.github.com/repos/fastlane/fastlane","forks_url":"https://api.github.com/repos/fastlane/fastlane/forks","keys_url":"https://api.github.com/repos/fastlane/fastlane/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fastlane/fastlane/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fastlane/fastlane/teams","hooks_url":"https://api.github.com/repos/fastlane/fastlane/hooks","issue_events_url":"https://api.github.com/repos/fastlane/fastlane/issues/events{/number}","events_url":"https://api.github.com/repos/fastlane/fastlane/events","assignees_url":"https://api.github.com/repos/fastlane/fastlane/assignees{/user}","branches_url":"https://api.github.com/repos/fastlane/fastlane/branches{/branch}","tags_url":"https://api.github.com/repos/fastlane/fastlane/tags","blobs_url":"https://api.github.com/repos/fastlane/fastlane/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fastlane/fastlane/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fastlane/fastlane/git/refs{/sha}","trees_url":"https://api.github.com/repos/fastlane/fastlane/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fastlane/fastlane/statuses/{sha}","languages_url":"https://api.github.com/repos/fastlane/fastlane/languages","stargazers_url":"https://api.github.com/repos/fastlane/fastlane/stargazers","contributors_url":"https://api.github.com/repos/fastlane/fastlane/contributors","subscribers_url":"https://api.github.com/repos/fastlane/fastlane/subscribers","subscription_url":"https://api.github.com/repos/fastlane/fastlane/subscription","commits_url":"https://api.github.com/repos/fastlane/fastlane/commits{/sha}","git_commits_url":"https://api.github.com/repos/fastlane/fastlane/git/commits{/sha}","comments_url":"https://api.github.com/repos/fastlane/fastlane/comments{/number}","issue_comment_url":"https://api.github.com/repos/fastlane/fastlane/issues/comments{/number}","contents_url":"https://api.github.com/repos/fastlane/fastlane/contents/{+path}","compare_url":"https://api.github.com/repos/fastlane/fastlane/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fastlane/fastlane/merges","archive_url":"https://api.github.com/repos/fastlane/fastlane/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fastlane/fastlane/downloads","issues_url":"https://api.github.com/repos/fastlane/fastlane/issues{/number}","pulls_url":"https://api.github.com/repos/fastlane/fastlane/pulls{/number}","milestones_url":"https://api.github.com/repos/fastlane/fastlane/milestones{/number}","notifications_url":"https://api.github.com/repos/fastlane/fastlane/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fastlane/fastlane/labels{/name}","releases_url":"https://api.github.com/repos/fastlane/fastlane/releases{/id}","deployments_url":"https://api.github.com/repos/fastlane/fastlane/deployments","created_at":"2014-12-02T17:00:38Z","updated_at":"2016-04-05T22:44:41Z","pushed_at":"2016-04-05T23:03:02Z","git_url":"git://github.com/fastlane/fastlane.git","ssh_url":"git@github.com:fastlane/fastlane.git","clone_url":"https://github.com/fastlane/fastlane.git","svn_url":"https://github.com/fastlane/fastlane","homepage":"https://fastlane.tools","size":55059,"stargazers_count":6843,"watchers_count":6843,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":867,"mirror_url":null,"open_issues_count":785,"forks":867,"open_issues":785,"watchers":6843,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/4076"},"html":{"href":"https://github.com/fastlane/fastlane/pull/4076"},"issue":{"href":"https://api.github.com/repos/fastlane/fastlane/issues/4076"},"comments":{"href":"https://api.github.com/repos/fastlane/fastlane/issues/4076/comments"},"review_comments":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/4076/comments"},"review_comment":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fastlane/fastlane/pulls/4076/commits"},"statuses":{"href":"https://api.github.com/repos/fastlane/fastlane/statuses/215ad4485c5a2d6ff8cb6c84a7cb2d04db91fa25"}}}}