{"action":"created","comment":{"url":"https://api.github.com/repos/theia-ide/theia/pulls/comments/240927065","pull_request_review_id":184068114,"id":240927065,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDkyNzA2NQ==","diff_hunk":"@@ -0,0 +1,247 @@\n+/********************************************************************************\n+ * Copyright (C) 2018 TypeFox and others.\n+ *\n+ * This program and the accompanying materials are made available under the\n+ * terms of the Eclipse Public License v. 2.0 which is available at\n+ * http://www.eclipse.org/legal/epl-2.0.\n+ *\n+ * This Source Code may also be made available under the following Secondary\n+ * Licenses when the conditions for such availability set forth in the Eclipse\n+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n+ * with the GNU Classpath Exception which is available at\n+ * https://www.gnu.org/software/classpath/license.html.\n+ *\n+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n+ ********************************************************************************/\n+\n+import { injectable, inject } from 'inversify';\n+import { DebugConfiguration } from '../common/debug-common';\n+import { WorkspaceService } from '@theia/workspace/lib/browser';\n+import { Disposable } from '@theia/core/lib/common/disposable';\n+import { DebugService, DebuggerDescription } from '../common/debug-service';\n+import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';\n+import { Emitter, Event } from '@theia/core/lib/common/event';\n+import { DebugSessionFactory } from './debug-session-contribution';\n+import { DebugSessionOptions } from './debug-session-options';\n+import { DebugSession } from './debug-session';\n+import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';\n+import { EditorManager } from '@theia/editor/lib/browser/editor-manager';\n+import { BreakpointManager } from './breakpoint/breakpoint-manager';\n+import { LabelProvider } from '@theia/core/lib/browser/label-provider';\n+import { MessageClient } from '@theia/core/lib/common/message-service-protocol';\n+import { OutputChannelManager, OutputChannel } from '@theia/output/lib/common/output-channel';\n+import { DebugPreferences } from './debug-preferences';\n+import { DebugSessionConnection } from './debug-session-connection';\n+import { IWebSocket } from 'vscode-ws-jsonrpc/lib/socket/socket';\n+import { DebugSessionContributionRegistry } from './debug-session-contribution-registry';\n+\n+/**\n+ * Manages both extension and plugin debuggers contributions.\n+ */\n+@injectable()\n+export class DebugContributionManager {\n+    protected readonly pluginContributors = new Map<string, DebugPluginContributor>();\n+\n+    @inject(WorkspaceService)\n+    protected readonly workspaceService: WorkspaceService;\n+    @inject(DebugService)\n+    protected readonly debugService: DebugService;\n+    @inject(DebugSessionContributionRegistry)\n+    protected readonly sessionContributionRegistry: DebugSessionContributionRegistry;\n+    @inject(TerminalService)\n+    protected readonly terminalService: TerminalService;\n+    @inject(EditorManager)\n+    protected readonly editorManager: EditorManager;\n+    @inject(BreakpointManager)\n+    protected readonly breakpoints: BreakpointManager;\n+    @inject(LabelProvider)\n+    protected readonly labelProvider: LabelProvider;\n+    @inject(MessageClient)\n+    protected readonly messages: MessageClient;\n+    @inject(OutputChannelManager)\n+    protected readonly outputChannelManager: OutputChannelManager;\n+    @inject(DebugPreferences)\n+    protected readonly debugPreferences: DebugPreferences;\n+\n+    protected readonly onDidContributionAddEmitter = new Emitter<string>();\n+    readonly onDidContributionAdd: Event<string> = this.onDidContributionAddEmitter.event;","path":"packages/debug/src/browser/debug-contribution-manager.ts","position":67,"original_position":67,"commit_id":"61ba61e8669047bf22ae050c2207825b3bffcb7a","original_commit_id":"61ba61e8669047bf22ae050c2207825b3bffcb7a","user":{"login":"akosyakov","id":3082655,"node_id":"MDQ6VXNlcjMwODI2NTU=","avatar_url":"https://avatars2.githubusercontent.com/u/3082655?v=4","gravatar_id":"","url":"https://api.github.com/users/akosyakov","html_url":"https://github.com/akosyakov","followers_url":"https://api.github.com/users/akosyakov/followers","following_url":"https://api.github.com/users/akosyakov/following{/other_user}","gists_url":"https://api.github.com/users/akosyakov/gists{/gist_id}","starred_url":"https://api.github.com/users/akosyakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akosyakov/subscriptions","organizations_url":"https://api.github.com/users/akosyakov/orgs","repos_url":"https://api.github.com/users/akosyakov/repos","events_url":"https://api.github.com/users/akosyakov/events{/privacy}","received_events_url":"https://api.github.com/users/akosyakov/received_events","type":"User","site_admin":false},"body":"the pattern is `on[Will|Did]VerbNoun?` - https://code.visualstudio.com/docs/extensionAPI/patterns-and-principles#_events","created_at":"2018-12-12T08:59:24Z","updated_at":"2018-12-12T08:59:25Z","html_url":"https://github.com/theia-ide/theia/pull/3804#discussion_r240927065","pull_request_url":"https://api.github.com/repos/theia-ide/theia/pulls/3804","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/comments/240927065"},"html":{"href":"https://github.com/theia-ide/theia/pull/3804#discussion_r240927065"},"pull_request":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/3804"}}},"pull_request":{"url":"https://api.github.com/repos/theia-ide/theia/pulls/3804","id":237606601,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3NjA2NjAx","html_url":"https://github.com/theia-ide/theia/pull/3804","diff_url":"https://github.com/theia-ide/theia/pull/3804.diff","patch_url":"https://github.com/theia-ide/theia/pull/3804.patch","issue_url":"https://api.github.com/repos/theia-ide/theia/issues/3804","number":3804,"state":"open","locked":false,"title":"Plugin API for debug","user":{"login":"tolusha","id":1640675,"node_id":"MDQ6VXNlcjE2NDA2NzU=","avatar_url":"https://avatars2.githubusercontent.com/u/1640675?v=4","gravatar_id":"","url":"https://api.github.com/users/tolusha","html_url":"https://github.com/tolusha","followers_url":"https://api.github.com/users/tolusha/followers","following_url":"https://api.github.com/users/tolusha/following{/other_user}","gists_url":"https://api.github.com/users/tolusha/gists{/gist_id}","starred_url":"https://api.github.com/users/tolusha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tolusha/subscriptions","organizations_url":"https://api.github.com/users/tolusha/orgs","repos_url":"https://api.github.com/users/tolusha/repos","events_url":"https://api.github.com/users/tolusha/events{/privacy}","received_events_url":"https://api.github.com/users/tolusha/received_events","type":"User","site_admin":false},"body":"<!-- Please provide a clear and meaningful description to the CHANGELOG.md file if this PR contributes some significant changes -->\r\n\r\nThis PR provides implementation of [plugin API for debug](https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts#L8634)\r\n\r\n### How to test\r\n1. Download [c++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) into `~/theia-plugins` folder.\r\n2. ` THEIA_DEFAULT_PLUGINS=\"local-dir:///home/$USER/theia-plugins\"`\r\n3. Start Theia and wait until c++ extension is activated\r\n4. It is possible to work with c++ debugger\r\n\r\n\r\n### Know issues\r\n1 .  Debug adapter sends events in such sequence: 'exited', 'terminated', 'telemetry'.\r\nSince we dispose `debug-session-connection'  on 'exited' event we can see some traces in console:\r\n```\r\nroot ERROR [hosted-plugin: 18775] (node:18775) UnhandledPromiseRejectionWarning: Error: the debug session connection is disposed, id: b886d0ce-4622-4a09-a01e-7bd82f55181c\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.checkDisposed (http://localhost:3000/28.bundle.js:2251:19)\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.newEmitter (http://localhost:3000/28.bundle.js:2447:14)\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.getEmitter (http://localhost:3000/28.bundle.js:2441:55)\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.doFire (http://localhost:3000/28.bundle.js:2438:14)\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.handleEvent (http://localhost:3000/28.bundle.js:2421:22)\r\n    at DebugSessionConnection.push.../../packages/debug/lib/browser/debug-session-connection.js.DebugSessionConnection.handleMessage (http://localhost:3000/28.bundle.js:2368:18)\r\n    at PluginMessageReader.callback (http://localhost:3000/28.bundle.js:2273:79)\r\n    at PluginMessageReader.push.../../packages/plugin-ext/lib/common/plugin-message-reader.js.PluginMessageReader.readMessage (http://localhost:3000/74.bundle.js:2391:18)\r\n    at ConnectionMainImpl.<anonymous> (http://localhost:3000/74.bundle.js:4539:53)\r\n    at step (http://localhost:3000/74.bundle.js:4510:23)\r\n```\r\n\r\n![screenshot from 2018-12-07 15-47-32](https://user-images.githubusercontent.com/1640675/49791135-75bb3880-fd38-11e8-8d34-0fd696568828.png)\r\n","created_at":"2018-12-11T09:33:30Z","updated_at":"2018-12-12T08:59:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1767e383c1a291697b8e5627d91ffd519da44edb","assignee":{"login":"tolusha","id":1640675,"node_id":"MDQ6VXNlcjE2NDA2NzU=","avatar_url":"https://avatars2.githubusercontent.com/u/1640675?v=4","gravatar_id":"","url":"https://api.github.com/users/tolusha","html_url":"https://github.com/tolusha","followers_url":"https://api.github.com/users/tolusha/followers","following_url":"https://api.github.com/users/tolusha/following{/other_user}","gists_url":"https://api.github.com/users/tolusha/gists{/gist_id}","starred_url":"https://api.github.com/users/tolusha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tolusha/subscriptions","organizations_url":"https://api.github.com/users/tolusha/orgs","repos_url":"https://api.github.com/users/tolusha/repos","events_url":"https://api.github.com/users/tolusha/events{/privacy}","received_events_url":"https://api.github.com/users/tolusha/received_events","type":"User","site_admin":false},"assignees":[{"login":"tolusha","id":1640675,"node_id":"MDQ6VXNlcjE2NDA2NzU=","avatar_url":"https://avatars2.githubusercontent.com/u/1640675?v=4","gravatar_id":"","url":"https://api.github.com/users/tolusha","html_url":"https://github.com/tolusha","followers_url":"https://api.github.com/users/tolusha/followers","following_url":"https://api.github.com/users/tolusha/following{/other_user}","gists_url":"https://api.github.com/users/tolusha/gists{/gist_id}","starred_url":"https://api.github.com/users/tolusha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tolusha/subscriptions","organizations_url":"https://api.github.com/users/tolusha/orgs","repos_url":"https://api.github.com/users/tolusha/repos","events_url":"https://api.github.com/users/tolusha/events{/privacy}","received_events_url":"https://api.github.com/users/tolusha/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"svenefftinge","id":372735,"node_id":"MDQ6VXNlcjM3MjczNQ==","avatar_url":"https://avatars0.githubusercontent.com/u/372735?v=4","gravatar_id":"","url":"https://api.github.com/users/svenefftinge","html_url":"https://github.com/svenefftinge","followers_url":"https://api.github.com/users/svenefftinge/followers","following_url":"https://api.github.com/users/svenefftinge/following{/other_user}","gists_url":"https://api.github.com/users/svenefftinge/gists{/gist_id}","starred_url":"https://api.github.com/users/svenefftinge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svenefftinge/subscriptions","organizations_url":"https://api.github.com/users/svenefftinge/orgs","repos_url":"https://api.github.com/users/svenefftinge/repos","events_url":"https://api.github.com/users/svenefftinge/events{/privacy}","received_events_url":"https://api.github.com/users/svenefftinge/received_events","type":"User","site_admin":false},{"login":"tsmaeder","id":13163770,"node_id":"MDQ6VXNlcjEzMTYzNzcw","avatar_url":"https://avatars3.githubusercontent.com/u/13163770?v=4","gravatar_id":"","url":"https://api.github.com/users/tsmaeder","html_url":"https://github.com/tsmaeder","followers_url":"https://api.github.com/users/tsmaeder/followers","following_url":"https://api.github.com/users/tsmaeder/following{/other_user}","gists_url":"https://api.github.com/users/tsmaeder/gists{/gist_id}","starred_url":"https://api.github.com/users/tsmaeder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsmaeder/subscriptions","organizations_url":"https://api.github.com/users/tsmaeder/orgs","repos_url":"https://api.github.com/users/tsmaeder/repos","events_url":"https://api.github.com/users/tsmaeder/events{/privacy}","received_events_url":"https://api.github.com/users/tsmaeder/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1046486490,"node_id":"MDU6TGFiZWwxMDQ2NDg2NDkw","url":"https://api.github.com/repos/theia-ide/theia/labels/debug","name":"debug","color":"f9fcae","default":false},{"id":882621075,"node_id":"MDU6TGFiZWw4ODI2MjEwNzU=","url":"https://api.github.com/repos/theia-ide/theia/labels/plug-in%20system","name":"plug-in system","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/theia-ide/theia/pulls/3804/commits","review_comments_url":"https://api.github.com/repos/theia-ide/theia/pulls/3804/comments","review_comment_url":"https://api.github.com/repos/theia-ide/theia/pulls/comments{/number}","comments_url":"https://api.github.com/repos/theia-ide/theia/issues/3804/comments","statuses_url":"https://api.github.com/repos/theia-ide/theia/statuses/61ba61e8669047bf22ae050c2207825b3bffcb7a","head":{"label":"theia-ide:ab/DebugPluginApi","ref":"ab/DebugPluginApi","sha":"61ba61e8669047bf22ae050c2207825b3bffcb7a","user":{"login":"theia-ide","id":28530323,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTMwMzIz","avatar_url":"https://avatars1.githubusercontent.com/u/28530323?v=4","gravatar_id":"","url":"https://api.github.com/users/theia-ide","html_url":"https://github.com/theia-ide","followers_url":"https://api.github.com/users/theia-ide/followers","following_url":"https://api.github.com/users/theia-ide/following{/other_user}","gists_url":"https://api.github.com/users/theia-ide/gists{/gist_id}","starred_url":"https://api.github.com/users/theia-ide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theia-ide/subscriptions","organizations_url":"https://api.github.com/users/theia-ide/orgs","repos_url":"https://api.github.com/users/theia-ide/repos","events_url":"https://api.github.com/users/theia-ide/events{/privacy}","received_events_url":"https://api.github.com/users/theia-ide/received_events","type":"Organization","site_admin":false},"repo":{"id":83050680,"node_id":"MDEwOlJlcG9zaXRvcnk4MzA1MDY4MA==","name":"theia","full_name":"theia-ide/theia","private":false,"owner":{"login":"theia-ide","id":28530323,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTMwMzIz","avatar_url":"https://avatars1.githubusercontent.com/u/28530323?v=4","gravatar_id":"","url":"https://api.github.com/users/theia-ide","html_url":"https://github.com/theia-ide","followers_url":"https://api.github.com/users/theia-ide/followers","following_url":"https://api.github.com/users/theia-ide/following{/other_user}","gists_url":"https://api.github.com/users/theia-ide/gists{/gist_id}","starred_url":"https://api.github.com/users/theia-ide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theia-ide/subscriptions","organizations_url":"https://api.github.com/users/theia-ide/orgs","repos_url":"https://api.github.com/users/theia-ide/repos","events_url":"https://api.github.com/users/theia-ide/events{/privacy}","received_events_url":"https://api.github.com/users/theia-ide/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/theia-ide/theia","description":"Theia is a cloud & desktop IDE framework implemented in TypeScript.","fork":false,"url":"https://api.github.com/repos/theia-ide/theia","forks_url":"https://api.github.com/repos/theia-ide/theia/forks","keys_url":"https://api.github.com/repos/theia-ide/theia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theia-ide/theia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theia-ide/theia/teams","hooks_url":"https://api.github.com/repos/theia-ide/theia/hooks","issue_events_url":"https://api.github.com/repos/theia-ide/theia/issues/events{/number}","events_url":"https://api.github.com/repos/theia-ide/theia/events","assignees_url":"https://api.github.com/repos/theia-ide/theia/assignees{/user}","branches_url":"https://api.github.com/repos/theia-ide/theia/branches{/branch}","tags_url":"https://api.github.com/repos/theia-ide/theia/tags","blobs_url":"https://api.github.com/repos/theia-ide/theia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theia-ide/theia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theia-ide/theia/git/refs{/sha}","trees_url":"https://api.github.com/repos/theia-ide/theia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theia-ide/theia/statuses/{sha}","languages_url":"https://api.github.com/repos/theia-ide/theia/languages","stargazers_url":"https://api.github.com/repos/theia-ide/theia/stargazers","contributors_url":"https://api.github.com/repos/theia-ide/theia/contributors","subscribers_url":"https://api.github.com/repos/theia-ide/theia/subscribers","subscription_url":"https://api.github.com/repos/theia-ide/theia/subscription","commits_url":"https://api.github.com/repos/theia-ide/theia/commits{/sha}","git_commits_url":"https://api.github.com/repos/theia-ide/theia/git/commits{/sha}","comments_url":"https://api.github.com/repos/theia-ide/theia/comments{/number}","issue_comment_url":"https://api.github.com/repos/theia-ide/theia/issues/comments{/number}","contents_url":"https://api.github.com/repos/theia-ide/theia/contents/{+path}","compare_url":"https://api.github.com/repos/theia-ide/theia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theia-ide/theia/merges","archive_url":"https://api.github.com/repos/theia-ide/theia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theia-ide/theia/downloads","issues_url":"https://api.github.com/repos/theia-ide/theia/issues{/number}","pulls_url":"https://api.github.com/repos/theia-ide/theia/pulls{/number}","milestones_url":"https://api.github.com/repos/theia-ide/theia/milestones{/number}","notifications_url":"https://api.github.com/repos/theia-ide/theia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theia-ide/theia/labels{/name}","releases_url":"https://api.github.com/repos/theia-ide/theia/releases{/id}","deployments_url":"https://api.github.com/repos/theia-ide/theia/deployments","created_at":"2017-02-24T14:42:05Z","updated_at":"2018-12-12T07:50:26Z","pushed_at":"2018-12-12T08:58:52Z","git_url":"git://github.com/theia-ide/theia.git","ssh_url":"git@github.com:theia-ide/theia.git","clone_url":"https://github.com/theia-ide/theia.git","svn_url":"https://github.com/theia-ide/theia","homepage":"http://theia-ide.org","size":114057,"stargazers_count":2069,"watchers_count":2069,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":309,"mirror_url":null,"archived":false,"open_issues_count":759,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":309,"open_issues":759,"watchers":2069,"default_branch":"master"}},"base":{"label":"theia-ide:master","ref":"master","sha":"eb586cd2f7730b4d182f4c5e3a5a6bf9d1f522d6","user":{"login":"theia-ide","id":28530323,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTMwMzIz","avatar_url":"https://avatars1.githubusercontent.com/u/28530323?v=4","gravatar_id":"","url":"https://api.github.com/users/theia-ide","html_url":"https://github.com/theia-ide","followers_url":"https://api.github.com/users/theia-ide/followers","following_url":"https://api.github.com/users/theia-ide/following{/other_user}","gists_url":"https://api.github.com/users/theia-ide/gists{/gist_id}","starred_url":"https://api.github.com/users/theia-ide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theia-ide/subscriptions","organizations_url":"https://api.github.com/users/theia-ide/orgs","repos_url":"https://api.github.com/users/theia-ide/repos","events_url":"https://api.github.com/users/theia-ide/events{/privacy}","received_events_url":"https://api.github.com/users/theia-ide/received_events","type":"Organization","site_admin":false},"repo":{"id":83050680,"node_id":"MDEwOlJlcG9zaXRvcnk4MzA1MDY4MA==","name":"theia","full_name":"theia-ide/theia","private":false,"owner":{"login":"theia-ide","id":28530323,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTMwMzIz","avatar_url":"https://avatars1.githubusercontent.com/u/28530323?v=4","gravatar_id":"","url":"https://api.github.com/users/theia-ide","html_url":"https://github.com/theia-ide","followers_url":"https://api.github.com/users/theia-ide/followers","following_url":"https://api.github.com/users/theia-ide/following{/other_user}","gists_url":"https://api.github.com/users/theia-ide/gists{/gist_id}","starred_url":"https://api.github.com/users/theia-ide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theia-ide/subscriptions","organizations_url":"https://api.github.com/users/theia-ide/orgs","repos_url":"https://api.github.com/users/theia-ide/repos","events_url":"https://api.github.com/users/theia-ide/events{/privacy}","received_events_url":"https://api.github.com/users/theia-ide/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/theia-ide/theia","description":"Theia is a cloud & desktop IDE framework implemented in TypeScript.","fork":false,"url":"https://api.github.com/repos/theia-ide/theia","forks_url":"https://api.github.com/repos/theia-ide/theia/forks","keys_url":"https://api.github.com/repos/theia-ide/theia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theia-ide/theia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theia-ide/theia/teams","hooks_url":"https://api.github.com/repos/theia-ide/theia/hooks","issue_events_url":"https://api.github.com/repos/theia-ide/theia/issues/events{/number}","events_url":"https://api.github.com/repos/theia-ide/theia/events","assignees_url":"https://api.github.com/repos/theia-ide/theia/assignees{/user}","branches_url":"https://api.github.com/repos/theia-ide/theia/branches{/branch}","tags_url":"https://api.github.com/repos/theia-ide/theia/tags","blobs_url":"https://api.github.com/repos/theia-ide/theia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theia-ide/theia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theia-ide/theia/git/refs{/sha}","trees_url":"https://api.github.com/repos/theia-ide/theia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theia-ide/theia/statuses/{sha}","languages_url":"https://api.github.com/repos/theia-ide/theia/languages","stargazers_url":"https://api.github.com/repos/theia-ide/theia/stargazers","contributors_url":"https://api.github.com/repos/theia-ide/theia/contributors","subscribers_url":"https://api.github.com/repos/theia-ide/theia/subscribers","subscription_url":"https://api.github.com/repos/theia-ide/theia/subscription","commits_url":"https://api.github.com/repos/theia-ide/theia/commits{/sha}","git_commits_url":"https://api.github.com/repos/theia-ide/theia/git/commits{/sha}","comments_url":"https://api.github.com/repos/theia-ide/theia/comments{/number}","issue_comment_url":"https://api.github.com/repos/theia-ide/theia/issues/comments{/number}","contents_url":"https://api.github.com/repos/theia-ide/theia/contents/{+path}","compare_url":"https://api.github.com/repos/theia-ide/theia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theia-ide/theia/merges","archive_url":"https://api.github.com/repos/theia-ide/theia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theia-ide/theia/downloads","issues_url":"https://api.github.com/repos/theia-ide/theia/issues{/number}","pulls_url":"https://api.github.com/repos/theia-ide/theia/pulls{/number}","milestones_url":"https://api.github.com/repos/theia-ide/theia/milestones{/number}","notifications_url":"https://api.github.com/repos/theia-ide/theia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theia-ide/theia/labels{/name}","releases_url":"https://api.github.com/repos/theia-ide/theia/releases{/id}","deployments_url":"https://api.github.com/repos/theia-ide/theia/deployments","created_at":"2017-02-24T14:42:05Z","updated_at":"2018-12-12T07:50:26Z","pushed_at":"2018-12-12T08:58:52Z","git_url":"git://github.com/theia-ide/theia.git","ssh_url":"git@github.com:theia-ide/theia.git","clone_url":"https://github.com/theia-ide/theia.git","svn_url":"https://github.com/theia-ide/theia","homepage":"http://theia-ide.org","size":114057,"stargazers_count":2069,"watchers_count":2069,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":309,"mirror_url":null,"archived":false,"open_issues_count":759,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":309,"open_issues":759,"watchers":2069,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/3804"},"html":{"href":"https://github.com/theia-ide/theia/pull/3804"},"issue":{"href":"https://api.github.com/repos/theia-ide/theia/issues/3804"},"comments":{"href":"https://api.github.com/repos/theia-ide/theia/issues/3804/comments"},"review_comments":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/3804/comments"},"review_comment":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/theia-ide/theia/pulls/3804/commits"},"statuses":{"href":"https://api.github.com/repos/theia-ide/theia/statuses/61ba61e8669047bf22ae050c2207825b3bffcb7a"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"akosyakov"}}