{"action":"created","comment":{"url":"https://api.github.com/repos/adobe/brackets/pulls/comments/51383577","id":51383577,"diff_hunk":"@@ -466,9 +489,314 @@ define(function (require, exports, module) {\n \n             describe(\"with multiple selections\", function () {\n                 it(\"should toggle comments on separate lines with cursor selections\", function () {\n+\n+                   myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 4}},\n+                                        {start: {line: 3, ch: 4}, end: {line: 3, ch: 4}}]);\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"    //function bar() {\";\n+                    lines[3] = \"        //a();\";\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{start: {line: 1, ch: 6}, end: {line: 1, ch: 6}, primary: false, reversed: false},\n+                                                  {start: {line: 3, ch : 4 }, end: {line: 3, ch: 4 }, reversed: false, primary: true}]);\n+                });\n+\n+                it(\"should toggle comments on separate lines with range selections\", function () {\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 6}},\n+                                        {start: {line: 3, ch: 4}, end: {line: 3, ch: 6}}]);\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"    //function bar() {\";\n+                    lines[3] = \"        //a();\";\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{ start: {line: 1, ch: 6 }, end: {line: 1, ch: 8 }, reversed: false, primary: false },\n+                                                  { start: {line: 3, ch: 4 }, end : {line: 3, ch: 6 }, reversed: false, primary: true }]);\n+                });\n+\n+                it(\"should toggle comments on separate lines with multiline selections\", function () {\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 2, ch: 6}},\n+                                        {start: {line: 3, ch: 4}, end: {line: 4, ch: 6}}]);\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"    //function bar() {\";\n+                    lines[2] = \"    //    \";\n+                    lines[3] = \"        //a();\";\n+                    lines[4] = \"        //\";\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{start: {line: 1, ch: 6 }, end: {line: 2, ch: 8 }, reversed: false, primary: false},\n+                                                  {start: {line: 3, ch: 4 }, end: {line: 4, ch: 6 }, reversed: false, primary: true}]);\n+                });\n+\n+                it(\"should adjust selections appropriately at start of line\", function () {\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 0}, end: {line: 1, ch: 0}},\n+                                        {start: {line: 3, ch: 0}, end: {line: 3, ch: 6}}]);\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"    //function bar() {\";\n+                    lines[3] = \"        //a();\";\n+\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{start: { line: 1, ch: 0 }, end: { line: 1, ch: 0 }, reversed: false, primary: false },\n+                                                  {start: { line: 3, ch: 0 }, end: { line: 3, ch: 8 }, reversed: false, primary: true }]);\n+                });\n+\n+                it(\"should only handle each line once, but preserve primary/reversed flags on ignored selections\", function () {\n+\n                     myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 4}},\n+                                        {start: {line: 1, ch: 6}, end: {line: 2, ch: 4}, primary: true},\n+                                        {start: {line: 3, ch: 4}, end: {line: 3, ch: 4}},\n+                                        {start: {line: 3, ch: 6}, end: {line: 3, ch: 8}, reversed: true}]);\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1]= \"    //function bar() {\";\n+                    lines[2]= \"    //    \";\n+                    lines[3]= \"        //a();\";\n+\n+\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{start: {line: 1, ch: 6}, end: {line: 1, ch: 6}, reversed: false, primary: false},\n+                                                  {start: {line: 1, ch: 8}, end: {line: 2, ch: 6}, reversed: false, primary: true},\n+                                                  {start: {line: 3, ch: 4}, end: {line: 3, ch: 4}, reversed: false, primary: false},\n+                                                  {start: {line: 3, ch: 6}, end: {line: 3, ch: 10}, reversed: true, primary: false}]);\n+                });\n+\n+                it(\"should properly toggle when some selections are already commented but others aren't\", function () {\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"    //function bar() {\";\n+                    lines[3] = \"    a();\";\n+                    lines[5] = \"    //}\";\n+                    var startingContent = lines.join(\"\\n\");\n+                    myDocument.setText(startingContent);\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 4}},\n+                                            {start: {line: 3, ch: 4}, end: {line: 3, ch: 4}},\n+                                            {start: {line: 5, ch: 4}, end: {line: 5, ch: 4}}]);\n+\n+                    lines[1] = \"    function bar() {\";\n+                    lines[3] = \"    //a();\";\n+                    lines[5] = \"    }\";\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{ start : { line : 1, ch : 4 }, end : { line : 1, ch : 4 }, reversed : false, primary : false },\n+                                                  { start : { line : 3, ch : 6 }, end : { line : 3, ch : 6 }, reversed : false, primary : false },\n+                                                  { start : { line : 5, ch : 4 }, end : { line : 5, ch : 4 }, reversed : false, primary : true }]);\n+\n+                });\n+\n+                it(\"should properly toggle adjacent lines (not coalescing them) if there are cursors on each line\", function () {\n+\n+                    var lines = defaultContent.split(\"\\n\");\n+                    lines[1] = \"//\" + lines[1];\n+                    lines[2] = \"    foo();\"; // make this line non-blank so it will get commented\n+                    lines[3] = \"//\" + lines[3];\n+                    var startingContent = lines.join(\"\\n\");\n+                    myDocument.setText(startingContent);\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 4}},\n+                                            {start: {line: 2, ch: 4}, end: {line: 2, ch: 4}},\n                                             {start: {line: 3, ch: 4}, end: {line: 3, ch: 4}}]);\n \n+                    lines[1] = lines[1].slice(2);\n+                    lines[2] = \"    //foo();\";\n+                    lines[3] = lines[3].slice(2);\n+                    var expectedText = lines.join(\"\\n\");\n+\n+                    testToggleLine(expectedText, [{start: {line: 1, ch: 2}, end: {line: 1, ch: 2}, primary: false, reversed: false},\n+                                                  {start: {line: 2, ch: 6}, end: {line: 2, ch: 6}, primary: false, reversed: false},\n+                                                  {start: {line: 3, ch: 2}, end: {line: 3, ch: 2}, primary: true, reversed: false}]);\n+\n+                });\n+            });\n+        });\n+\n+        describe(\"Line comment/uncomment with indentLineComment disabled\", function () {\n+\n+            beforeEach(function () {\n+                    setupFullEditor();\n+                    PreferencesManager.set(\"indentLineComment\",false);\n+                });\n+\n+            afterEach(function () {\n+                    PreferencesManager.set(\"indentLineComment\", shouldIndentLineComment);\n+                });\n+\n+\n+            it(\"should comment/uncomment a single line, cursor at start\", function () {\n+\n+                myEditor.setCursorPos(3, 0);\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[3] = \"//        a();\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {line: 3, ch: 2});\n+\n+\n+            });\n+\n+            it(\"should comment/uncomment a single line, cursor at end\", function () {\n+\n+                myEditor.setCursorPos(3, 12);\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[3] = \"//        a();\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {line: 3, ch: 14});\n+\n+            });\n+\n+            it(\"should comment/uncomment first line in file\", function () {\n+\n+                myEditor.setCursorPos(0, 0);\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[0] = \"//function foo() {\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {line: 0, ch: 2});\n+\n+            });\n+\n+            it(\"should comment/uncomment a single partly-selected line\", function () {\n+\n+                // select \"function\" on line 1\n+                myEditor.setSelection({line: 1, ch: 4}, {line: 1, ch: 12});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 6}, end: {line: 1, ch: 14}});\n+\n+            });\n+\n+            it(\"should comment/uncomment a single selected line\", function () {\n+                // selection covers all of line's text, but not \\n at end\n+                myEditor.setSelection({line: 1, ch: 0}, {line: 1, ch: 20});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 0}, end: {line: 1, ch: 22}});\n+\n+            });\n+\n+            it(\"should comment/uncomment a single fully-selected line (including LF)\", function () {\n+\n+                // selection including \\n at end of line\n+                myEditor.setSelection({line: 1, ch: 0}, {line: 2, ch: 0});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 0}, end: {line: 2, ch: 0}});\n+\n+            });\n+\n+            it(\"should comment/uncomment multiple selected lines\", function () {\n+                 // selection including \\n at end of line\n+                myEditor.setSelection({line: 1, ch: 0}, {line: 6, ch: 0});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                lines[2] = \"//        \";\n+                lines[3] = \"//        a();\";\n+                lines[4] = \"//        \";\n+                lines[5] = \"//    }\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 0}, end: {line: 6, ch: 0}});\n+\n+            });\n+\n+            it(\"should comment/uncomment ragged multi-line selection\", function () {\n+\n+                myEditor.setSelection({line: 1, ch: 6}, {line: 3, ch: 9});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                lines[2] = \"//        \";\n+                lines[3] = \"//        a();\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 8}, end: {line: 3, ch: 11}}, \"nction bar() {\\n//        \\n//        a\");\n+\n+            });\n+\n+            it(\"should comment/uncomment when selection starts & ends on whitespace lines\", function () {\n+\n+                myEditor.setSelection({line: 2, ch: 0}, {line: 4, ch: 8});\n+\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[2] = \"//        \";\n+                lines[3] = \"//        a();\";\n+                lines[4] = \"//        \";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 2, ch: 0}, end: {line: 4, ch: 10}});\n+\n+            });\n+\n+            it(\"should comment/uncomment lines that were partially commented out already, our style\", function () {\n+                 // Start with line 3 commented out, with \"//\" at column 0\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[3] = \"//        a();\";\n+                var startingContent = lines.join(\"\\n\");\n+                myDocument.setText(startingContent);\n+\n+                // select lines 1-3\n+                myEditor.setSelection({line: 1, ch: 0}, {line: 4, ch: 0});\n+\n+                lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                lines[2] = \"//        \";\n+                lines[3] = \"////        a();\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 0}, end: {line: 4, ch: 0}});\n+\n+            });\n+\n+            it(\"should comment/uncomment lines that were partially commented out already, comment closer to code\", function () {\n+\n+                // Start with line 3 commented out, with \"//\" snug against the code\n+                var lines = defaultContent.split(\"\\n\");\n+                lines[3] = \"        //a();\";\n+                var startingContent = lines.join(\"\\n\");\n+                myDocument.setText(startingContent);\n+\n+                // select lines 1-3\n+                myEditor.setSelection({line: 1, ch: 0}, {line: 4, ch: 0});\n+\n+                lines = defaultContent.split(\"\\n\");\n+                lines[1] = \"//    function bar() {\";\n+                lines[2] = \"//        \";\n+                lines[3] = \"//        //a();\";\n+                var expectedText = lines.join(\"\\n\");\n+\n+                testToggleLine(expectedText, {start: {line: 1, ch: 0}, end: {line: 4, ch: 0}});\n+\n+            });\n+\n+            describe(\"with multiple selections\", function () {\n+\n+                it(\"should toggle comments on separate lines with cursor selections\", function () {\n+\n+                    myEditor.setSelections([{start: {line: 1, ch: 4}, end: {line: 1, ch: 4}},","path":"test/spec/EditorCommandHandlers-test.js","position":565,"original_position":565,"commit_id":"79e2942257bfc307d2bf4be840aa0d816cc9b519","original_commit_id":"79e2942257bfc307d2bf4be840aa0d816cc9b519","user":{"login":"petetnt","id":7641760,"avatar_url":"https://avatars.githubusercontent.com/u/7641760?v=3","gravatar_id":"","url":"https://api.github.com/users/petetnt","html_url":"https://github.com/petetnt","followers_url":"https://api.github.com/users/petetnt/followers","following_url":"https://api.github.com/users/petetnt/following{/other_user}","gists_url":"https://api.github.com/users/petetnt/gists{/gist_id}","starred_url":"https://api.github.com/users/petetnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petetnt/subscriptions","organizations_url":"https://api.github.com/users/petetnt/orgs","repos_url":"https://api.github.com/users/petetnt/repos","events_url":"https://api.github.com/users/petetnt/events{/privacy}","received_events_url":"https://api.github.com/users/petetnt/received_events","type":"User","site_admin":false},"body":"Stylenit: the `{start:`s should be aligned (check the other changes to `setSelections` too","created_at":"2016-02-01T06:36:34Z","updated_at":"2016-02-01T06:36:34Z","html_url":"https://github.com/adobe/brackets/pull/11954#discussion_r51383577","pull_request_url":"https://api.github.com/repos/adobe/brackets/pulls/11954","_links":{"self":{"href":"https://api.github.com/repos/adobe/brackets/pulls/comments/51383577"},"html":{"href":"https://github.com/adobe/brackets/pull/11954#discussion_r51383577"},"pull_request":{"href":"https://api.github.com/repos/adobe/brackets/pulls/11954"}}},"pull_request":{"url":"https://api.github.com/repos/adobe/brackets/pulls/11954","id":51779493,"html_url":"https://github.com/adobe/brackets/pull/11954","diff_url":"https://github.com/adobe/brackets/pull/11954.diff","patch_url":"https://github.com/adobe/brackets/pull/11954.patch","issue_url":"https://api.github.com/repos/adobe/brackets/issues/11954","number":11954,"state":"open","locked":false,"title":"Line comment bug fix","user":{"login":"borax12","id":1271183,"avatar_url":"https://avatars.githubusercontent.com/u/1271183?v=3","gravatar_id":"","url":"https://api.github.com/users/borax12","html_url":"https://github.com/borax12","followers_url":"https://api.github.com/users/borax12/followers","following_url":"https://api.github.com/users/borax12/following{/other_user}","gists_url":"https://api.github.com/users/borax12/gists{/gist_id}","starred_url":"https://api.github.com/users/borax12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borax12/subscriptions","organizations_url":"https://api.github.com/users/borax12/orgs","repos_url":"https://api.github.com/users/borax12/repos","events_url":"https://api.github.com/users/borax12/events{/privacy}","received_events_url":"https://api.github.com/users/borax12/received_events","type":"User","site_admin":false},"body":"Better line comment toggling , initiates the line comment at the start of the code and maintains the position of the cursor throughout (like sublime )\r\n\r\nBetter for lint to comment indents \r\n\r\nAffected me so hence changed it \r\n\r\nWill fail some editorCommandHandler tests which expect the line comment at the start of the line\r\n\r\nfix for https://github.com/adobe/brackets/issues/11953#issuecomment-159572261","created_at":"2015-11-25T11:00:11Z","updated_at":"2016-02-01T06:36:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4a4fc51f476e83ffd55814c235e538335b51465a","assignee":null,"milestone":{"url":"https://api.github.com/repos/adobe/brackets/milestones/39","html_url":"https://github.com/adobe/brackets/milestones/Release%201.7","labels_url":"https://api.github.com/repos/adobe/brackets/milestones/39/labels","id":1486437,"number":39,"title":"Release 1.7","description":"","creator":{"login":"abose","id":5336369,"avatar_url":"https://avatars.githubusercontent.com/u/5336369?v=3","gravatar_id":"","url":"https://api.github.com/users/abose","html_url":"https://github.com/abose","followers_url":"https://api.github.com/users/abose/followers","following_url":"https://api.github.com/users/abose/following{/other_user}","gists_url":"https://api.github.com/users/abose/gists{/gist_id}","starred_url":"https://api.github.com/users/abose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abose/subscriptions","organizations_url":"https://api.github.com/users/abose/orgs","repos_url":"https://api.github.com/users/abose/repos","events_url":"https://api.github.com/users/abose/events{/privacy}","received_events_url":"https://api.github.com/users/abose/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":0,"state":"open","created_at":"2016-01-06T04:11:53Z","updated_at":"2016-02-01T05:11:37Z","due_on":"2016-02-29T18:30:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/adobe/brackets/pulls/11954/commits","review_comments_url":"https://api.github.com/repos/adobe/brackets/pulls/11954/comments","review_comment_url":"https://api.github.com/repos/adobe/brackets/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adobe/brackets/issues/11954/comments","statuses_url":"https://api.github.com/repos/adobe/brackets/statuses/79e2942257bfc307d2bf4be840aa0d816cc9b519","head":{"label":"borax12:lineCommentBugFix","ref":"lineCommentBugFix","sha":"79e2942257bfc307d2bf4be840aa0d816cc9b519","user":{"login":"borax12","id":1271183,"avatar_url":"https://avatars.githubusercontent.com/u/1271183?v=3","gravatar_id":"","url":"https://api.github.com/users/borax12","html_url":"https://github.com/borax12","followers_url":"https://api.github.com/users/borax12/followers","following_url":"https://api.github.com/users/borax12/following{/other_user}","gists_url":"https://api.github.com/users/borax12/gists{/gist_id}","starred_url":"https://api.github.com/users/borax12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borax12/subscriptions","organizations_url":"https://api.github.com/users/borax12/orgs","repos_url":"https://api.github.com/users/borax12/repos","events_url":"https://api.github.com/users/borax12/events{/privacy}","received_events_url":"https://api.github.com/users/borax12/received_events","type":"User","site_admin":false},"repo":{"id":46850777,"name":"brackets","full_name":"borax12/brackets","owner":{"login":"borax12","id":1271183,"avatar_url":"https://avatars.githubusercontent.com/u/1271183?v=3","gravatar_id":"","url":"https://api.github.com/users/borax12","html_url":"https://github.com/borax12","followers_url":"https://api.github.com/users/borax12/followers","following_url":"https://api.github.com/users/borax12/following{/other_user}","gists_url":"https://api.github.com/users/borax12/gists{/gist_id}","starred_url":"https://api.github.com/users/borax12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borax12/subscriptions","organizations_url":"https://api.github.com/users/borax12/orgs","repos_url":"https://api.github.com/users/borax12/repos","events_url":"https://api.github.com/users/borax12/events{/privacy}","received_events_url":"https://api.github.com/users/borax12/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/borax12/brackets","description":"An open source code editor for the web, written in JavaScript, HTML and CSS.","fork":true,"url":"https://api.github.com/repos/borax12/brackets","forks_url":"https://api.github.com/repos/borax12/brackets/forks","keys_url":"https://api.github.com/repos/borax12/brackets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/borax12/brackets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/borax12/brackets/teams","hooks_url":"https://api.github.com/repos/borax12/brackets/hooks","issue_events_url":"https://api.github.com/repos/borax12/brackets/issues/events{/number}","events_url":"https://api.github.com/repos/borax12/brackets/events","assignees_url":"https://api.github.com/repos/borax12/brackets/assignees{/user}","branches_url":"https://api.github.com/repos/borax12/brackets/branches{/branch}","tags_url":"https://api.github.com/repos/borax12/brackets/tags","blobs_url":"https://api.github.com/repos/borax12/brackets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/borax12/brackets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/borax12/brackets/git/refs{/sha}","trees_url":"https://api.github.com/repos/borax12/brackets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/borax12/brackets/statuses/{sha}","languages_url":"https://api.github.com/repos/borax12/brackets/languages","stargazers_url":"https://api.github.com/repos/borax12/brackets/stargazers","contributors_url":"https://api.github.com/repos/borax12/brackets/contributors","subscribers_url":"https://api.github.com/repos/borax12/brackets/subscribers","subscription_url":"https://api.github.com/repos/borax12/brackets/subscription","commits_url":"https://api.github.com/repos/borax12/brackets/commits{/sha}","git_commits_url":"https://api.github.com/repos/borax12/brackets/git/commits{/sha}","comments_url":"https://api.github.com/repos/borax12/brackets/comments{/number}","issue_comment_url":"https://api.github.com/repos/borax12/brackets/issues/comments{/number}","contents_url":"https://api.github.com/repos/borax12/brackets/contents/{+path}","compare_url":"https://api.github.com/repos/borax12/brackets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/borax12/brackets/merges","archive_url":"https://api.github.com/repos/borax12/brackets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/borax12/brackets/downloads","issues_url":"https://api.github.com/repos/borax12/brackets/issues{/number}","pulls_url":"https://api.github.com/repos/borax12/brackets/pulls{/number}","milestones_url":"https://api.github.com/repos/borax12/brackets/milestones{/number}","notifications_url":"https://api.github.com/repos/borax12/brackets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/borax12/brackets/labels{/name}","releases_url":"https://api.github.com/repos/borax12/brackets/releases{/id}","deployments_url":"https://api.github.com/repos/borax12/brackets/deployments","created_at":"2015-11-25T09:22:13Z","updated_at":"2016-01-11T07:15:35Z","pushed_at":"2016-01-28T17:41:30Z","git_url":"git://github.com/borax12/brackets.git","ssh_url":"git@github.com:borax12/brackets.git","clone_url":"https://github.com/borax12/brackets.git","svn_url":"https://github.com/borax12/brackets","homepage":"http://brackets.io","size":82988,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"adobe:master","ref":"master","sha":"419c9867f80126e54b0ccb6e15f06fdf31ca378f","user":{"login":"adobe","id":476009,"avatar_url":"https://avatars.githubusercontent.com/u/476009?v=3","gravatar_id":"","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=3","gravatar_id":"","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}","deployments_url":"https://api.github.com/repos/adobe/brackets/deployments","created_at":"2011-12-07T21:14:40Z","updated_at":"2016-02-01T05:09:33Z","pushed_at":"2016-01-31T12:10:13Z","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":204580,"stargazers_count":24554,"watchers_count":24554,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5157,"mirror_url":null,"open_issues_count":1758,"forks":5157,"open_issues":1758,"watchers":24554,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adobe/brackets/pulls/11954"},"html":{"href":"https://github.com/adobe/brackets/pull/11954"},"issue":{"href":"https://api.github.com/repos/adobe/brackets/issues/11954"},"comments":{"href":"https://api.github.com/repos/adobe/brackets/issues/11954/comments"},"review_comments":{"href":"https://api.github.com/repos/adobe/brackets/pulls/11954/comments"},"review_comment":{"href":"https://api.github.com/repos/adobe/brackets/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adobe/brackets/pulls/11954/commits"},"statuses":{"href":"https://api.github.com/repos/adobe/brackets/statuses/79e2942257bfc307d2bf4be840aa0d816cc9b519"}}}}