GitHub PullRequestReviewCommentEvent at 2014-09-04 00:23:46
Repository: brackets
Actor: redmunds
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/adobe/brackets/pulls/comments/17089381","id":17089381,"diff_hunk":"@@ -0,0 +1,639 @@\n+/*\n+ * Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n+ *\n+ * Permission is hereby granted, free of charge, to any person obtaining a\n+ * copy of this software and associated documentation files (the \"Software\"),\n+ * to deal in the Software without restriction, including without limitation\n+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n+ * and/or sell copies of the Software, and to permit persons to whom the\n+ * Software is furnished to do so, subject to the following conditions:\n+ *\n+ * The above copyright notice and this permission notice shall be included in\n+ * all copies or substantial portions of the Software.\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n+ * DEALINGS IN THE SOFTWARE.\n+ *\n+ */\n+\n+/*jslint vars: true, plusplus: true, devel: true, browser: true, nomen: true, indent: 4, maxerr: 50 */\n+/*global define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, waitsFor, waitsForDone, runs, $, beforeFirst, afterLast, waits */\n+\n+define(function (require, exports, module) {\n+    \"use strict\";\n+\n+    var SpecRunnerUtils            = require(\"spec/SpecRunnerUtils\");\n+\n+    var testPath                   = SpecRunnerUtils.getTestPath(\"/spec/CSSInlineEdit-test-files\");\n+\n+    // TODO:\n+    // - make changes in inline editor -> css/scss/less files are added to Workingset and get dirty\n+    // - check hierachical rules in related content\n+    // - multiple inline edit widgets\n+\n+    describe(\"CSS Inline Edit\", function () {\n+        this.category = \"integration\";\n+\n+        var testWindow,\n+            brackets,\n+            $,\n+            EditorManager,\n+            CommandManager,\n+            Commands;\n+\n+        beforeFirst(function () {\n+            runs(function () {\n+                SpecRunnerUtils.createTestWindowAndRun(this, function (w) {\n+                    testWindow = w;\n+                    // Load module instances from brackets.test\n+                    $ = testWindow.$;\n+                    brackets = testWindow.brackets;\n+                    EditorManager = brackets.test.EditorManager;\n+                    CommandManager = brackets.test.CommandManager;\n+                    Commands = brackets.test.Commands;\n+                });\n+            });\n+\n+            runs(function () {\n+                SpecRunnerUtils.loadProjectInTestWindow(testPath);\n+            });\n+        });\n+\n+        afterLast(function () {\n+            EditorManager = null;\n+            CommandManager = null;\n+            Commands = null;\n+            testWindow = null;\n+            SpecRunnerUtils.closeTestWindow();\n+        });\n+\n+        function dropdownButton() {\n+            return $(\".btn.btn-dropdown.btn-mini.stylesheet-button\");\n+        }\n+\n+        function dropdownMenu() {\n+            return $(\".dropdown-menu.dropdownbutton-popup\");\n+        }\n+\n+        function getInlineEditorWidget() {\n+            return EditorManager.getCurrentFullEditor().getInlineWidgets()[0];\n+        }\n+\n+        function inlineEditorMessage() {\n+            return getInlineEditorWidget().$messageDiv;\n+        }\n+\n+        function inlineEditorHolder() {\n+            return $(\"div .inline-editor-holder\");\n+        }\n+\n+        function inlineEditorFileName() {\n+            return $(\".inline-editor-header a.filename\");\n+        }\n+\n+        function loadFile(file) {\n+            runs(function () {\n+                var promise = SpecRunnerUtils.openProjectFiles([file]);\n+                waitsForDone(promise);\n+            });\n+        }\n+\n+        function closeFilesInTestWindow() {\n+            runs(function () {\n+                var promise = CommandManager.execute(Commands.FILE_CLOSE_ALL);\n+                waitsForDone(promise, \"Close all open files in working set\");\n+            });\n+        }\n+\n+        function checkAvailableStylesheets(availableFilesInDropdown) {\n+            expect(availableFilesInDropdown.length).toBe(5);\n+            expect(availableFilesInDropdown[0].textContent).toEqual(\"test.css\");\n+            expect(availableFilesInDropdown[1].textContent).toEqual(\"test.less\");\n+            expect(availableFilesInDropdown[2].textContent).toEqual(\"test.scss\");\n+            expect(availableFilesInDropdown[3].textContent).toEqual(\"test2.css\");\n+            expect(availableFilesInDropdown[4].textContent).toEqual(\"test2.less\");\n+        }\n+\n+        function getInlineEditorContent(ranges) {\n+            var document = ranges.textRange.document;\n+\n+            return document.getRange({line: ranges.textRange.startLine, ch: 0}, {line: ranges.textRange.endLine, ch: document.getLine(ranges.textRange.endLine).length});\n+        }\n+\n+        describe(\"CSS\", function () {\n+            beforeEach(function () {\n+                loadFile(\"index-css.html\");\n+            });\n+\n+            afterEach(function () {\n+                closeFilesInTestWindow();\n+            });\n+\n+            it(\"should show no matching rule in inline editor\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 16, ch: 7});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+\n+                    expect(inlineEditorMessage().text()).toEqual(\"There are no existing CSS rules that match your selection. Click \\\"New Rule\\\" to create one.\");\n+                });\n+            });\n+\n+            it(\"should show one matching rule in inline editor\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 17, ch: 15});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+                    expect(inlineEditorFileName()[0].text).toEqual(\"test.less : 5\");\n+\n+                    var inlineWidget = getInlineEditorWidget();\n+                    var ranges = inlineWidget._ranges[0];\n+                    var document = ranges.textRange.document;\n+\n+                    expect(document.getRange({line: ranges.textRange.startLine, ch: 0}, {line: ranges.textRange.endLine, ch: document.getLine(ranges.textRange.endLine).length})).toEqual(\".banner {\\n    background-color: red;\\n}\");\n+                });\n+            });\n+\n+            it(\"should show one matching rule in two files\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 20, ch: 25});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    expect(availableFilesInDropdown.length).toBe(5);\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+                    expect(inlineEditorFileName()[0].text).toEqual(\"test.css : 8\");\n+\n+                    var inlineWidget = getInlineEditorWidget();\n+                    var ranges = inlineWidget._ranges[0];\n+                    var document = ranges.textRange.document;\n+\n+                    expect(document.getRange({line: ranges.textRange.startLine, ch: 0}, {line: ranges.textRange.endLine, ch: document.getLine(ranges.textRange.endLine).length})).toEqual(\".banner-new {\\n    background-color: blue;\\n}\");\n+\n+                    var files = inlineWidget.$relatedContainer.find(\".related ul>li\");\n+                    expect(files.length).toBe(2);\n+                    expect(files[0].textContent).toEqual(\".banner-new — test.css : 8\");\n+                    expect(files[1].textContent).toEqual(\".banner-new — test2.css : 8\");\n+                });\n+            });\n+        });\n+\n+        describe(\"LESS\", function () {\n+            beforeEach(function () {\n+                loadFile(\"index-less.html\");\n+            });\n+\n+            afterEach(function () {\n+                closeFilesInTestWindow();\n+            });\n+\n+            it(\"should show no matching rule in inline editor\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 16, ch: 10});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+\n+                    expect(inlineEditorMessage().text()).toEqual(\"There are no existing CSS rules that match your selection. Click \\\"New Rule\\\" to create one.\");\n+                });\n+            });\n+\n+            it(\"should show one matching rule in inline editor\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 17, ch: 15});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+                    expect(inlineEditorFileName()[0].text).toEqual(\"test.less : 5\");\n+\n+                    var inlineWidget = getInlineEditorWidget();\n+                    var ranges = inlineWidget._ranges[0];\n+\n+                    expect(getInlineEditorContent(ranges)).toEqual(\".banner {\\n    background-color: red;\\n}\");\n+                });\n+            });\n+\n+            it(\"should show one matching rule in two files\", function () {\n+                runs(function () {\n+                    var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 20, ch: 25});\n+                    waitsForDone(promise, \"Open inline editor\");\n+                });\n+\n+                runs(function () {\n+                    // open the dropdown\n+                    dropdownButton().click();\n+\n+                    var availableFilesInDropdown = dropdownMenu().children();\n+                    checkAvailableStylesheets(availableFilesInDropdown);\n+                    expect(inlineEditorFileName()[0].text).toEqual(\"test.less : 9\");\n+\n+                    var inlineWidget = getInlineEditorWidget();\n+                    var ranges = inlineWidget._ranges[0];\n+\n+                    expect(getInlineEditorContent(ranges)).toEqual(\"    &.banner-new2 {\\n        background-color: blue;\\n    }\");\n+\n+                    var files = inlineWidget.$relatedContainer.find(\".related ul>li\");\n+                    expect(files.length).toBe(2);\n+                    expect(files[0].textContent).toEqual(\"div / &.banner-new2 — test.less : 9\");\n+                    expect(files[1].textContent).toEqual(\".banner-new2 — test2.less : 1\");\n+                });\n+            });\n+\n+            describe(\"Check Rule appearance with matches in one LESS file\", function () {\n+                it(\"should return the nested rule\", function () {\n+                    runs(function () {\n+                        var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 25, ch: 25});\n+                        waitsForDone(promise, \"Open inline editor\");\n+                    });\n+\n+                    runs(function () {\n+                        expect(inlineEditorFileName()[0].text).toEqual(\"test2.less : 11\");\n+\n+                        var inlineWidget = getInlineEditorWidget();\n+                        var ranges = inlineWidget._ranges[0];\n+\n+                        expect(getInlineEditorContent(ranges)).toEqual(\"        .level3 {\\n            color: red;\\n        }\");\n+\n+                        // It's not visible\n+                        var files = inlineWidget.$relatedContainer.find(\".related ul>li\");\n+                        expect(files.length).toBe(1);\n+                        expect(files[0].textContent).toEqual(\".level1 / .level2 / .level3 — test2.less : 11\");\n+                    });\n+                });\n+\n+                it(\"should show the sinlge line comment above the matching rule\", function () {\n+                    runs(function () {\n+                        var promise = SpecRunnerUtils.toggleQuickEditAtOffset(EditorManager.getCurrentFullEditor(), {line: 31, ch: 25});\n+                        waitsForDone(promise, \"Open inline editor\");\n+                    });\n+\n+                    runs(function () {\n+                        expect(inlineEditorFileName()[0].text).toEqual(\"test2.less : 17\");\n+\n+                        var inlineWidget = getInlineEditorWidget();\n+                        var ranges = inlineWidget._ranges[0];\n+\n+                        expect(getInlineEditorContent(ranges)).toEqual(\"/* This is a single line comment that should appear in the inline editor as first line */\\n.comment1 {\\n    text-align: center;\\n}\");","path":"test/spec/CSSInlineEdit-test.js","position":312,"original_position":312,"commit_id":"8a7da5e9db8318c8084fab2d57bc60015876a8b5","original_commit_id":"8a7da5e9db8318c8084fab2d57bc60015876a8b5","user":{"login":"redmunds","id":1197144,"avatar_url":"https://avatars.githubusercontent.com/u/1197144?v=2","gravatar_id":"bc4dc1a1f8e56e53cb59dbe14bfe9649","url":"https://api.github.com/users/redmunds","html_url":"https://github.com/redmunds","followers_url":"https://api.github.com/users/redmunds/followers","following_url":"https://api.github.com/users/redmunds/following{/other_user}","gists_url":"https://api.github.com/users/redmunds/gists{/gist_id}","starred_url":"https://api.github.com/users/redmunds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redmunds/subscriptions","organizations_url":"https://api.github.com/users/redmunds/orgs","repos_url":"https://api.github.com/users/redmunds/repos","events_url":"https://api.github.com/users/redmunds/events{/privacy}","received_events_url":"https://api.github.com/users/redmunds/received_events","type":"User","site_admin":false},"body":"LESS supports both `/* ... */` and `// ...` style comments, so you should test for both.\r\n\r\nDoes SCSS also support both formats?","created_at":"2014-09-04T00:23:46Z","updated_at":"2014-09-04T00:23:46Z","html_url":"https://github.com/adobe/brackets/pull/8905#discussion_r17089381","pull_request_url":"https://api.github.com/repos/adobe/brackets/pulls/8905","_links":{"self":{"href":"https://api.github.com/repos/adobe/brackets/pulls/comments/17089381"},"html":{"href":"https://github.com/adobe/brackets/pull/8905#discussion_r17089381"},"pull_request":{"href":"https://api.github.com/repos/adobe/brackets/pulls/8905"}}},"pull_request":{"url":"https://api.github.com/repos/adobe/brackets/pulls/8905","id":20473060,"html_url":"https://github.com/adobe/brackets/pull/8905","diff_url":"https://github.com/adobe/brackets/pull/8905.diff","patch_url":"https://github.com/adobe/brackets/pull/8905.patch","issue_url":"https://api.github.com/repos/adobe/brackets/issues/8905","number":8905,"state":"open","locked":false,"title":"Unit tests for LESS/SCSS","user":{"login":"RaymondLim","id":1542488,"avatar_url":"https://avatars.githubusercontent.com/u/1542488?v=2","gravatar_id":"5e78f1f6398b643b4e5269d2ab5e24c6","url":"https://api.github.com/users/RaymondLim","html_url":"https://github.com/RaymondLim","followers_url":"https://api.github.com/users/RaymondLim/followers","following_url":"https://api.github.com/users/RaymondLim/following{/other_user}","gists_url":"https://api.github.com/users/RaymondLim/gists{/gist_id}","starred_url":"https://api.github.com/users/RaymondLim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RaymondLim/subscriptions","organizations_url":"https://api.github.com/users/RaymondLim/orgs","repos_url":"https://api.github.com/users/RaymondLim/repos","events_url":"https://api.github.com/users/RaymondLim/events{/privacy}","received_events_url":"https://api.github.com/users/RaymondLim/received_events","type":"User","site_admin":false},"body":"Also fixes for #8894 and #8895.","created_at":"2014-08-28T23:09:10Z","updated_at":"2014-09-04T00:23:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c650d4d5a98757af278b0019862e22bb010d3fe3","assignee":{"login":"redmunds","id":1197144,"avatar_url":"https://avatars.githubusercontent.com/u/1197144?v=2","gravatar_id":"bc4dc1a1f8e56e53cb59dbe14bfe9649","url":"https://api.github.com/users/redmunds","html_url":"https://github.com/redmunds","followers_url":"https://api.github.com/users/redmunds/followers","following_url":"https://api.github.com/users/redmunds/following{/other_user}","gists_url":"https://api.github.com/users/redmunds/gists{/gist_id}","starred_url":"https://api.github.com/users/redmunds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redmunds/subscriptions","organizations_url":"https://api.github.com/users/redmunds/orgs","repos_url":"https://api.github.com/users/redmunds/repos","events_url":"https://api.github.com/users/redmunds/events{/privacy}","received_events_url":"https://api.github.com/users/redmunds/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/adobe/brackets/pulls/8905/commits","review_comments_url":"https://api.github.com/repos/adobe/brackets/pulls/8905/comments","review_comment_url":"https://api.github.com/repos/adobe/brackets/pulls/comments/{number}","comments_url":"https://api.github.com/repos/adobe/brackets/issues/8905/comments","statuses_url":"https://api.github.com/repos/adobe/brackets/statuses/8a7da5e9db8318c8084fab2d57bc60015876a8b5","head":{"label":"adobe:rlim/less-and-scss-tests","ref":"rlim/less-and-scss-tests","sha":"8a7da5e9db8318c8084fab2d57bc60015876a8b5","user":{"login":"adobe","id":476009,"avatar_url":"https://avatars.githubusercontent.com/u/476009?v=2","gravatar_id":"cc40327f6f93a7b75207a152962d8dbe","url":"https://api.github.com/users/adobe","html_url":"https://github.com/adobe","followers_url":"https://api.github.com/users/adobe/followers","following_url":"https://api.github.com/users/adobe/following{/other_user}","gists_url":"https://api.github.com/users/adobe/gists{/gist_id}","starred_url":"https://api.github.com/users/adobe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adobe/subscriptions","organizations_url":"https://api.github.com/users/adobe/orgs","repos_url":"https://api.github.com/users/adobe/repos","events_url":"https://api.github.com/users/adobe/events{/privacy}","received_events_url":"https://api.github.com/users/adobe/received_events","type":"Organization","site_admin":false},"repo":{"id":2935735,"name":"brackets","full_name":"adobe/brackets","owner":{"login":"adobe","id":476009,"avatar_url":"https://avatars.githubusercontent.com/u/476009?v=2","gravatar_id":"cc40327f6f93a7b75207a152962d8dbe","url":"https://api.github.com/users/adobe","html_url":"https://github.com/adobe","followers_url":"https://api.github.com/users/adobe/followers","following_url":"https://api.github.com/users/adobe/following{/other_user}","gists_url":"https://api.github.com/users/adobe/gists{/gist_id}","starred_url":"https://api.github.com/users/adobe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adobe/subscriptions","organizations_url":"https://api.github.com/users/adobe/orgs","repos_url":"https://api.github.com/users/adobe/repos","events_url":"https://api.github.com/users/adobe/events{/privacy}","received_events_url":"https://api.github.com/users/adobe/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/adobe/brackets","description":"An open source code editor for the web, written in JavaScript, HTML and CSS.","fork":false,"url":"https://api.github.com/repos/adobe/brackets","forks_url":"https://api.github.com/repos/adobe/brackets/forks","keys_url":"https://api.github.com/repos/adobe/brackets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adobe/brackets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adobe/brackets/teams","hooks_url":"https://api.github.com/repos/adobe/brackets/hooks","issue_events_url":"https://api.github.com/repos/adobe/brackets/issues/events{/number}","events_url":"https://api.github.com/repos/adobe/brackets/events","assignees_url":"https://api.github.com/repos/adobe/brackets/assignees{/user}","branches_url":"https://api.github.com/repos/adobe/brackets/branches{/branch}","tags_url":"https://api.github.com/repos/adobe/brackets/tags","blobs_url":"https://api.github.com/repos/adobe/brackets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adobe/brackets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adobe/brackets/git/refs{/sha}","trees_url":"https://api.github.com/repos/adobe/brackets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adobe/brackets/statuses/{sha}","languages_url":"https://api.github.com/repos/adobe/brackets/languages","stargazers_url":"https://api.github.com/repos/adobe/brackets/stargazers","contributors_url":"https://api.github.com/repos/adobe/brackets/contributors","subscribers_url":"https://api.github.com/repos/adobe/brackets/subscribers","subscription_url":"https://api.github.com/repos/adobe/brackets/subscription","commits_url":"https://api.github.com/repos/adobe/brackets/commits{/sha}","git_commits_url":"https://api.github.com/repos/adobe/brackets/git/commits{/sha}","comments_url":"https://api.github.com/repos/adobe/brackets/comments{/number}","issue_comment_url":"https://api.github.com/repos/adobe/brackets/issues/comments/{number}","contents_url":"https://api.github.com/repos/adobe/brackets/contents/{+path}","compare_url":"https://api.github.com/repos/adobe/brackets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adobe/brackets/merges","archive_url":"https://api.github.com/repos/adobe/brackets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adobe/brackets/downloads","issues_url":"https://api.github.com/repos/adobe/brackets/issues{/number}","pulls_url":"https://api.github.com/repos/adobe/brackets/pulls{/number}","milestones_url":"https://api.github.com/repos/adobe/brackets/milestones{/number}","notifications_url":"https://api.github.com/repos/adobe/brackets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adobe/brackets/labels{/name}","releases_url":"https://api.github.com/repos/adobe/brackets/releases{/id}","created_at":"2011-12-07T21:14:40Z","updated_at":"2014-09-04T00:05:26Z","pushed_at":"2014-09-03T23:13:06Z","git_url":"git://github.com/adobe/brackets.git","ssh_url":"git@github.com:adobe/brackets.git","clone_url":"https://github.com/adobe/brackets.git","svn_url":"https://github.com/adobe/brackets","homepage":"http://brackets.io","size":327024,"stargazers_count":17618,"watchers_count":17618,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":3647,"mirror_url":null,"open_issues_count":943,"forks":3647,"open_issues":943,"watchers":17618,"default_branch":"master"}},"base":{"label":"adobe:master","ref":"master","sha":"9083d5280c5d92a7f6c816b53b4aae0a9d375739","user":{"login":"adobe","id":476009,"avatar_url":"https://avatars.githubusercontent.com/u/476009?v=2","gravatar_id":"cc40327f6f93a7b75207a152962d8dbe","url":"https://api.github.com/users/adobe","html_url":"https://github.com/adobe","followers_url":"https://api.github.com/users/adobe/followers","following_url":"https://api.github.com/users/adobe/following{/other_user}","gists_url":"https://api.github.com/users/adobe/gists{/gist_id}","starred_url":"https://api.github.com/users/adobe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adobe/subscriptions","organizations_url":"https://api.github.com/users/adobe/orgs","repos_url":"https://api.github.com/users/adobe/repos","events_url":"https://api.github.com/users/adobe/events{/privacy}","received_events_url":"https://api.github.com/users/adobe/received_events","type":"Organization","site_admin":false},"repo":{"id":2935735,"name":"brackets","full_name":"adobe/brackets","owner":{"login":"adobe","id":476009,"avatar_url":"https://avatars.githubusercontent.com/u/476009?v=2","gravatar_id":"cc40327f6f93a7b75207a152962d8dbe","url":"https://api.github.com/users/adobe","html_url":"https://github.com/adobe","followers_url":"https://api.github.com/users/adobe/followers","following_url":"https://api.github.com/users/adobe/following{/other_user}","gists_url":"https://api.github.com/users/adobe/gists{/gist_id}","starred_url":"https://api.github.com/users/adobe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adobe/subscriptions","organizations_url":"https://api.github.com/users/adobe/orgs","repos_url":"https://api.github.com/users/adobe/repos","events_url":"https://api.github.com/users/adobe/events{/privacy}","received_events_url":"https://api.github.com/users/adobe/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/adobe/brackets","description":"An open source code editor for the web, written in JavaScript, HTML and CSS.","fork":false,"url":"https://api.github.com/repos/adobe/brackets","forks_url":"https://api.github.com/repos/adobe/brackets/forks","keys_url":"https://api.github.com/repos/adobe/brackets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adobe/brackets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adobe/brackets/teams","hooks_url":"https://api.github.com/repos/adobe/brackets/hooks","issue_events_url":"https://api.github.com/repos/adobe/brackets/issues/events{/number}","events_url":"https://api.github.com/repos/adobe/brackets/events","assignees_url":"https://api.github.com/repos/adobe/brackets/assignees{/user}","branches_url":"https://api.github.com/repos/adobe/brackets/branches{/branch}","tags_url":"https://api.github.com/repos/adobe/brackets/tags","blobs_url":"https://api.github.com/repos/adobe/brackets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adobe/brackets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adobe/brackets/git/refs{/sha}","trees_url":"https://api.github.com/repos/adobe/brackets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adobe/brackets/statuses/{sha}","languages_url":"https://api.github.com/repos/adobe/brackets/languages","stargazers_url":"https://api.github.com/repos/adobe/brackets/stargazers","contributors_url":"https://api.github.com/repos/adobe/brackets/contributors","subscribers_url":"https://api.github.com/repos/adobe/brackets/subscribers","subscription_url":"https://api.github.com/repos/adobe/brackets/subscription","commits_url":"https://api.github.com/repos/adobe/brackets/commits{/sha}","git_commits_url":"https://api.github.com/repos/adobe/brackets/git/commits{/sha}","comments_url":"https://api.github.com/repos/adobe/brackets/comments{/number}","issue_comment_url":"https://api.github.com/repos/adobe/brackets/issues/comments/{number}","contents_url":"https://api.github.com/repos/adobe/brackets/contents/{+path}","compare_url":"https://api.github.com/repos/adobe/brackets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adobe/brackets/merges","archive_url":"https://api.github.com/repos/adobe/brackets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adobe/brackets/downloads","issues_url":"https://api.github.com/repos/adobe/brackets/issues{/number}","pulls_url":"https://api.github.com/repos/adobe/brackets/pulls{/number}","milestones_url":"https://api.github.com/repos/adobe/brackets/milestones{/number}","notifications_url":"https://api.github.com/repos/adobe/brackets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adobe/brackets/labels{/name}","releases_url":"https://api.github.com/repos/adobe/brackets/releases{/id}","created_at":"2011-12-07T21:14:40Z","updated_at":"2014-09-04T00:05:26Z","pushed_at":"2014-09-03T23:13:06Z","git_url":"git://github.com/adobe/brackets.git","ssh_url":"git@github.com:adobe/brackets.git","clone_url":"https://github.com/adobe/brackets.git","svn_url":"https://github.com/adobe/brackets","homepage":"http://brackets.io","size":327024,"stargazers_count":17618,"watchers_count":17618,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":3647,"mirror_url":null,"open_issues_count":943,"forks":3647,"open_issues":943,"watchers":17618,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adobe/brackets/pulls/8905"},"html":{"href":"https://github.com/adobe/brackets/pull/8905"},"issue":{"href":"https://api.github.com/repos/adobe/brackets/issues/8905"},"comments":{"href":"https://api.github.com/repos/adobe/brackets/issues/8905/comments"},"review_comments":{"href":"https://api.github.com/repos/adobe/brackets/pulls/8905/comments"},"review_comment":{"href":"https://api.github.com/repos/adobe/brackets/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/adobe/brackets/pulls/8905/commits"},"statuses":{"href":"https://api.github.com/repos/adobe/brackets/statuses/8a7da5e9db8318c8084fab2d57bc60015876a8b5"}}}}