{"action":"created","issue":{"url":"https://api.github.com/repos/rustwasm/twiggy/issues/63","repository_url":"https://api.github.com/repos/rustwasm/twiggy","labels_url":"https://api.github.com/repos/rustwasm/twiggy/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/rustwasm/twiggy/issues/63/comments","events_url":"https://api.github.com/repos/rustwasm/twiggy/issues/63/events","html_url":"https://github.com/rustwasm/twiggy/pull/63","id":323019655,"number":63,"title":"Print all paths if no argument is given to `twiggy paths`","user":{"login":"data-pup","id":16364986,"avatar_url":"https://avatars1.githubusercontent.com/u/16364986?v=4","gravatar_id":"","url":"https://api.github.com/users/data-pup","html_url":"https://github.com/data-pup","followers_url":"https://api.github.com/users/data-pup/followers","following_url":"https://api.github.com/users/data-pup/following{/other_user}","gists_url":"https://api.github.com/users/data-pup/gists{/gist_id}","starred_url":"https://api.github.com/users/data-pup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/data-pup/subscriptions","organizations_url":"https://api.github.com/users/data-pup/orgs","repos_url":"https://api.github.com/users/data-pup/repos","events_url":"https://api.github.com/users/data-pup/events{/privacy}","received_events_url":"https://api.github.com/users/data-pup/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-05-14T23:49:06Z","updated_at":"2018-05-15T14:47:46Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/rustwasm/twiggy/pulls/63","html_url":"https://github.com/rustwasm/twiggy/pull/63","diff_url":"https://github.com/rustwasm/twiggy/pull/63.diff","patch_url":"https://github.com/rustwasm/twiggy/pull/63.patch"},"body":"This is some initial work to try and solve #57. If no argument is given, then all paths should be printed. I was thinking about this, and thought that it might be nice to have this _descend_ the paths rather than printing a whole list of ascending call paths.\r\n\r\nI'm not totally sure if that is a good idea or not, and thought I would open up a PR for some thoughts. I have a little bit of refinement work to do on this, right now `type[n]` items are printed out, which I don't think should be included in the output if I understand this correctly.\r\n\r\nSo, questions I have at the moment:\r\n*  Does descending the call paths make sense if no argument is given?\r\n*  Should `type` items be included in the output? If not, is there an easy way to identify these?\r\n*  How should these be sorted? Name, depth, size? That might be worth adding a new issue for.\r\n*  If the ascending/descending choice is exposed as an option flag, what should that be called?"},"comment":{"url":"https://api.github.com/repos/rustwasm/twiggy/issues/comments/389194369","html_url":"https://github.com/rustwasm/twiggy/pull/63#issuecomment-389194369","issue_url":"https://api.github.com/repos/rustwasm/twiggy/issues/63","id":389194369,"user":{"login":"fitzgen","id":74571,"avatar_url":"https://avatars2.githubusercontent.com/u/74571?v=4","gravatar_id":"","url":"https://api.github.com/users/fitzgen","html_url":"https://github.com/fitzgen","followers_url":"https://api.github.com/users/fitzgen/followers","following_url":"https://api.github.com/users/fitzgen/following{/other_user}","gists_url":"https://api.github.com/users/fitzgen/gists{/gist_id}","starred_url":"https://api.github.com/users/fitzgen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fitzgen/subscriptions","organizations_url":"https://api.github.com/users/fitzgen/orgs","repos_url":"https://api.github.com/users/fitzgen/repos","events_url":"https://api.github.com/users/fitzgen/events{/privacy}","received_events_url":"https://api.github.com/users/fitzgen/received_events","type":"User","site_admin":false},"created_at":"2018-05-15T14:47:46Z","updated_at":"2018-05-15T14:47:46Z","author_association":"MEMBER","body":"> So, in the case that someone just runs a plain `twiggy paths $THING` with no function names, should that also default to ascending?\r\n\r\nYes, default to the current ascending behavior.\r\n\r\n> We could fill the Paths.items member with all of the leaf nodes that are Code items in that case.\r\n\r\nSo do an actual graph traversal such that each item is only ever printed once in the output, you're saying? We could do this, but then we would also have to start emitting the size information for every item along a path. I actually like the current behavior of a list of each item in the graph, and then each item has the tree of callers fanning out below it. I'm OK with duplicates across each tree because the way I use the tool is to look at the biggest functions, and then say \"huh, who is calling this function?\" And inspect just that call tree before moving to the next item and inspecting its call tree, etc.\r\n\r\nOr maybe I am misunderstanding something you were saying?"}}
{"actor":{"display_login":"fitzgen"}}