{"action":"created","issue":{"url":"https://api.github.com/repos/HvyIndustries/crane/issues/50","repository_url":"https://api.github.com/repos/HvyIndustries/crane","labels_url":"https://api.github.com/repos/HvyIndustries/crane/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/HvyIndustries/crane/issues/50/comments","events_url":"https://api.github.com/repos/HvyIndustries/crane/issues/50/events","html_url":"https://github.com/HvyIndustries/crane/issues/50","id":154654775,"number":50,"title":"Cache object tree for each project to speed up load times","user":{"login":"nevadascout","id":377089,"avatar_url":"https://avatars.githubusercontent.com/u/377089?v=3","gravatar_id":"","url":"https://api.github.com/users/nevadascout","html_url":"https://github.com/nevadascout","followers_url":"https://api.github.com/users/nevadascout/followers","following_url":"https://api.github.com/users/nevadascout/following{/other_user}","gists_url":"https://api.github.com/users/nevadascout/gists{/gist_id}","starred_url":"https://api.github.com/users/nevadascout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nevadascout/subscriptions","organizations_url":"https://api.github.com/users/nevadascout/orgs","repos_url":"https://api.github.com/users/nevadascout/repos","events_url":"https://api.github.com/users/nevadascout/events{/privacy}","received_events_url":"https://api.github.com/users/nevadascout/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HvyIndustries/crane/labels/feature","name":"feature","color":"128A0C"},{"url":"https://api.github.com/repos/HvyIndustries/crane/labels/priority","name":"priority","color":"b60205"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/HvyIndustries/crane/milestones/6","html_url":"https://github.com/HvyIndustries/crane/milestones/0.1.8","labels_url":"https://api.github.com/repos/HvyIndustries/crane/milestones/6/labels","id":1719371,"number":6,"title":"0.1.8","description":"","creator":{"login":"nevadascout","id":377089,"avatar_url":"https://avatars.githubusercontent.com/u/377089?v=3","gravatar_id":"","url":"https://api.github.com/users/nevadascout","html_url":"https://github.com/nevadascout","followers_url":"https://api.github.com/users/nevadascout/followers","following_url":"https://api.github.com/users/nevadascout/following{/other_user}","gists_url":"https://api.github.com/users/nevadascout/gists{/gist_id}","starred_url":"https://api.github.com/users/nevadascout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nevadascout/subscriptions","organizations_url":"https://api.github.com/users/nevadascout/orgs","repos_url":"https://api.github.com/users/nevadascout/repos","events_url":"https://api.github.com/users/nevadascout/events{/privacy}","received_events_url":"https://api.github.com/users/nevadascout/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":3,"state":"open","created_at":"2016-04-19T22:18:32Z","updated_at":"2016-05-14T12:49:34Z","due_on":"2016-05-30T23:00:00Z","closed_at":null},"comments":5,"created_at":"2016-05-13T08:00:14Z","updated_at":"2016-05-14T13:40:13Z","closed_at":null,"body":"My suggestion is to generate a simple hash of the workspace directory and use that as the folder name in `%APPDATA%` on windows and `~/.crane` on OSX/Linux. For example:\r\n\r\nWorkspace folder: `C:/users/ns/projects/myproject/`\r\nGenerated hash of the folder string: `uef5vbrtfeo8`\r\n\r\nCache folder system:\r\n\r\n```\r\n%APPDATA%\r\n    \\ crane\r\n       \\ uef5vbrtfeo8\r\n         \\ tree.cache\r\n       \\ nyf9psbtd9rg\r\n         \\ tree.cache\r\n```\r\nEach workspace that has something to store in the cache gets a separate folder inside the crane directory to store the cache files in.\r\n\r\nThis prevents needing to update the gitignore and keeps the workspace folder clean. This is especially important because some git tools update diffs whenever any file in a workspace changes, and if we're constantly modifying cache files then this could cause an issue.\r\n\r\nLet's add a new command (Rebuild Sources) -- both a command from the palette and a keyboard shortcut <kbd>Ctrl + Shift + R</kbd> (?)\r\n\r\nI also think this should be enabled by default. Using a folder other than the project workspace to store the cache files makes this less of an issue."},"comment":{"url":"https://api.github.com/repos/HvyIndustries/crane/issues/comments/219220934","html_url":"https://github.com/HvyIndustries/crane/issues/50#issuecomment-219220934","issue_url":"https://api.github.com/repos/HvyIndustries/crane/issues/50","id":219220934,"user":{"login":"TheColorRed","id":1571806,"avatar_url":"https://avatars.githubusercontent.com/u/1571806?v=3","gravatar_id":"","url":"https://api.github.com/users/TheColorRed","html_url":"https://github.com/TheColorRed","followers_url":"https://api.github.com/users/TheColorRed/followers","following_url":"https://api.github.com/users/TheColorRed/following{/other_user}","gists_url":"https://api.github.com/users/TheColorRed/gists{/gist_id}","starred_url":"https://api.github.com/users/TheColorRed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheColorRed/subscriptions","organizations_url":"https://api.github.com/users/TheColorRed/orgs","repos_url":"https://api.github.com/users/TheColorRed/repos","events_url":"https://api.github.com/users/TheColorRed/events{/privacy}","received_events_url":"https://api.github.com/users/TheColorRed/received_events","type":"User","site_admin":false},"created_at":"2016-05-14T13:40:12Z","updated_at":"2016-05-14T13:40:12Z","body":"Yeah I have it in the command palette as well"}}