{"action":"created","comment":{"url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/comments/101788946","pull_request_review_id":22530450,"id":101788946,"diff_hunk":"@@ -17,89 +17,101 @@ class RsDocumentationProvider : AbstractDocumentationProvider() {\n \n         val name = if (element is RsMod) element.modName else element.name\n         val header = if (name != null) \"<pre>$name</pre>\\n\" else \"\"\n-        val functionSignature = (element as? RsFunction)?.formatSignature()\n+        val functionSignature = (element as? RsFunction)?.signatureText\n         val signature = if (functionSignature != null) \"<pre>$functionSignature</pre>\\n\" else \"\"\n         val doc = element.documentationAsHtml() ?: \"\"\n         return header + signature + doc\n     }\n \n-    override fun getQuickNavigateInfo(element: PsiElement, originalElement: PsiElement?) = when (element) {\n-        is RsPatBinding -> getQuickNavigateInfo(element)\n-        is RsNamedElement -> element.getQuickNavigateInfo()\n-        else -> null\n+    override fun getQuickNavigateInfo(e: PsiElement, originalElement: PsiElement?): String? {\n+        val formatString = when (e) {\n+            is RsFunction -> e.signatureText\n+            is RsStructItem -> createSignatureText(e, e.identifier, if (e.blockFields != null) listOf(e.whereClause) else listOf(e.whereClause, e.tupleFields))\n+            is RsFieldDecl -> createSignatureText(e, e.identifier, listOf(e.typeReference))\n+            is RsEnumItem -> createSignatureText(e, e.identifier, listOf(e.whereClause))\n+            is RsEnumVariant -> createSignatureText(e, e.identifier, listOf(e.tupleFields))\n+            is RsTraitItem -> createSignatureText(e, e.identifier, listOf(e.whereClause))\n+            is RsTypeAlias -> createSignatureText(e, e.identifier, listOf(e.typeReference, e.typeParamBounds, e.whereClause))\n+            is RsConstant -> createSignatureText(e, e.identifier, listOf(e.expr, e.typeReference))\n+            is RsSelfParameter -> createSignatureText(e, e.self, listOf(e.typeReference))\n+            is RsTypeParameter -> \"<i>type parameter:</i> \" + createSignatureText(e, e.identifier)\n+            is RsLifetimeDecl -> \"<i>lifetime:</i> \" + createSignatureText(e, e.quoteIdentifier)\n+            is RsLabelDecl -> {\n+                val p = e.parent\n+                when (p) {\n+                    is RsLoopExpr -> createSignatureText(p, p.labelDecl.quoteIdentifier, listOf(p.loop))\n+                    is RsForExpr -> createSignatureText(p, p.labelDecl.quoteIdentifier, listOf(p.expr, p.`in`, p.`for`))\n+                    is RsWhileExpr -> createSignatureText(p, p.labelDecl.quoteIdentifier, listOf(p.condition, p.`while`))\n+                    else -> createSignatureText(e, e.quoteIdentifier)\n+                }\n+            }\n+            is RsPatBinding -> {\n+                val owner = e.owner\n+                when (owner) {\n+                    is RsLetDecl -> createSignatureText(owner, e.identifier, listOf(owner.typeReference))\n+                    is RsValueParameter -> \"<i>value parameter:</i> \" + createSignatureText(owner, e.identifier, listOf(owner.typeReference))\n+                    is RsMatchArm -> \"<i>match arm:</i> \" + createSignatureText(owner, e.identifier, listOf(owner.matchPat))\n+                    is RsCondition -> createSignatureText(owner, e.identifier, listOf(owner.lastChild))\n+                    else -> createSignatureText(e, e.identifier)\n+                }\n+            }\n+            is RsFile -> {\n+                val mName = e.modName\n+                if (e.isCrateRoot) \"<i>crate</i>\"\n+                else if (mName != null) \"mod $mName\"\n+                else \"<i>file</i>\"\n+            }\n+            is RsNamedElement -> createSignatureText(e, e.navigationElement)\n+            else -> null\n+        } ?: return null\n+        return \"$formatString${e.locationString}\"\n     }\n \n-    private fun getQuickNavigateInfo(element: RsPatBinding): String {\n-        val location = element.locationString\n-        val bindingMode = if (element.isMut) \"mut \" else \"\"\n-        val prefix = if (element.parentOfType<RsValueParameter>() != null) \"\" else \"let \"\n-        return  \"$prefix$bindingMode<b>${element.identifier.text}</b>$location\"\n-    }\n+    private fun createSignatureText(decl: RsCompositeElement, id: PsiElement?, stopAt: List<PsiElement?> = emptyList()): String? {\n+        if (id == null) return null\n \n-    private fun RsNamedElement.formatSignature(): String {\n-        // Example:\n-        // fn item looks like this:\n-        // ```\n-        //     ///doc comment\n-        //     #[attribute]\n-        //     pub const unsafe extern \"C\" fn foo<T>(x: T): where T: Clone { ... }\n-        // ```\n-        //\n-        // we want to show only the signature, and make the name bold\n-\n-        var signatureStartElement = firstChild\n-        loop@ while (true) {\n-            when (signatureStartElement) {\n-                is PsiWhiteSpace, is PsiComment, is RsOuterAttr -> {\n-                    signatureStartElement = signatureStartElement.nextSibling\n-                }\n-                else -> break@loop\n-            }\n-        }\n-\n-        val signatureStart = signatureStartElement?.startOffsetInParent ?: 0\n-        val stopAt = when (this) {\n-            is RsFunction -> listOf(whereClause, retType, valueParameterList)\n-            is RsStructItem -> if (blockFields != null) listOf(whereClause) else listOf(whereClause, tupleFields)\n-            is RsEnumItem -> listOf(whereClause)\n-            is RsEnumVariant -> listOf(tupleFields)\n-            is RsTraitItem -> listOf(whereClause)\n-            is RsTypeAlias -> listOf(typeReference, typeParamBounds, whereClause)\n-            is RsConstant -> listOf(expr, typeReference)\n-            is RsSelfParameter -> listOf(typeReference)\n-            else -> listOf(navigationElement)\n-        }\n+        // Remove trailing spaces, comments and attributes\n+        val signatureStartElement = generateSequence(decl.firstChild) { it.nextSibling }\n+            .dropWhile { it is PsiWhiteSpace || it is PsiComment || it is RsOuterAttr }\n+            .firstOrNull()\n+\n+        val signatureStart = signatureStartElement?.startOffsetInParent ?: return id.text\n+        val idStart = id.ancestors.takeWhile { it != decl }.sumBy { it.startOffsetInParent }\n \n         // pick (in order) elements we should stop at\n         // if they all fail, drop down to the end of the id element\n-        val idElement = if (this is RsSelfParameter) self else navigationElement\n         val signatureEnd = stopAt\n-                .filterNotNull().firstOrNull()\n-                ?.let { it.startOffsetInParent + it.textLength }\n-                ?: idElement.startOffsetInParent + idElement.textLength\n+            .filterNotNull().firstOrNull()\n+            ?.let { it.startOffsetInParent + it.textLength }\n+            ?: idStart + id.textLength\n \n-        val identStart = idElement.startOffsetInParent\n-        val identEnd = identStart + idElement.textLength\n-        check(signatureStart <= identStart && identStart <= identEnd &&\n-            identEnd <= signatureEnd && signatureEnd <= textLength)\n+        val idEnd = idStart + id.textLength\n+        check(signatureStart <= idStart && idStart <= idEnd &&\n+            idEnd <= signatureEnd && signatureEnd <= decl.textLength)\n \n-        val beforeIdent = text.substring(signatureStart, identStart).escaped\n-        val afterIdent = text.substring(identEnd, signatureEnd)\n+        val beforeIdent = decl.text.substring(signatureStart, idStart).escaped\n+        val afterIdent = decl.text.substring(idEnd, signatureEnd)\n             .replace(\"\"\"\\s+\"\"\".toRegex(), \" \")\n             .replace(\"( \", \"(\")\n             .replace(\" )\", \")\")\n             .replace(\" ,\", \",\")\n             .trimEnd()\n             .escaped\n \n-        return \"$beforeIdent<b>$name</b>$afterIdent\"\n+        return \"$beforeIdent<b>${id.text}</b>$afterIdent\"\n     }\n \n-    private fun RsNamedElement.getQuickNavigateInfo(): String =\n-        \"${formatSignature()}$locationString\"\n+    private val RsFunction.signatureText: String?\n+        get() = createSignatureText(this, identifier, listOf(whereClause, retType, valueParameterList))\n \n+    private val RsPatBinding.owner: PsiElement?\n+        get() = ancestors\n+            .drop(1).dropWhile { it is RsPat || it is RsMatchPat || it is RsPatField }","path":"src/main/kotlin/org/rust/ide/docs/RsDocumentationProvider.kt","position":161,"original_position":161,"commit_id":"668108a3f64688912fdcf2f0e176ffcc8d135d65","original_commit_id":"668108a3f64688912fdcf2f0e176ffcc8d135d65","user":{"login":"alygin","id":2101250,"avatar_url":"https://avatars.githubusercontent.com/u/2101250?v=3","gravatar_id":"","url":"https://api.github.com/users/alygin","html_url":"https://github.com/alygin","followers_url":"https://api.github.com/users/alygin/followers","following_url":"https://api.github.com/users/alygin/following{/other_user}","gists_url":"https://api.github.com/users/alygin/gists{/gist_id}","starred_url":"https://api.github.com/users/alygin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alygin/subscriptions","organizations_url":"https://api.github.com/users/alygin/orgs","repos_url":"https://api.github.com/users/alygin/repos","events_url":"https://api.github.com/users/alygin/events{/privacy}","received_events_url":"https://api.github.com/users/alygin/received_events","type":"User","site_admin":false},"body":"@matklad, why `RsMatchPat` and `RsPatField` aren't `RsPat`? Is there some idea behind it? Or they were simply neglected?","created_at":"2017-02-17T16:11:11Z","updated_at":"2017-02-17T16:11:11Z","html_url":"https://github.com/intellij-rust/intellij-rust/pull/1020#discussion_r101788946","pull_request_url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020","_links":{"self":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/comments/101788946"},"html":{"href":"https://github.com/intellij-rust/intellij-rust/pull/1020#discussion_r101788946"},"pull_request":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020"}}},"pull_request":{"url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020","id":106747500,"html_url":"https://github.com/intellij-rust/intellij-rust/pull/1020","diff_url":"https://github.com/intellij-rust/intellij-rust/pull/1020.diff","patch_url":"https://github.com/intellij-rust/intellij-rust/pull/1020.patch","issue_url":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/1020","number":1020,"state":"open","locked":false,"title":"DOC: Better quick navigation info","user":{"login":"alygin","id":2101250,"avatar_url":"https://avatars.githubusercontent.com/u/2101250?v=3","gravatar_id":"","url":"https://api.github.com/users/alygin","html_url":"https://github.com/alygin","followers_url":"https://api.github.com/users/alygin/followers","following_url":"https://api.github.com/users/alygin/following{/other_user}","gists_url":"https://api.github.com/users/alygin/gists{/gist_id}","starred_url":"https://api.github.com/users/alygin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alygin/subscriptions","organizations_url":"https://api.github.com/users/alygin/orgs","repos_url":"https://api.github.com/users/alygin/repos","events_url":"https://api.github.com/users/alygin/events{/privacy}","received_events_url":"https://api.github.com/users/alygin/received_events","type":"User","site_admin":false},"body":"Refactoring and various improvements of quick navigation info.","created_at":"2017-02-17T14:53:47Z","updated_at":"2017-02-17T16:11:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"581680cabcbfe341706decd393f26f117831a753","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020/commits","review_comments_url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020/comments","review_comment_url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/comments{/number}","comments_url":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/1020/comments","statuses_url":"https://api.github.com/repos/intellij-rust/intellij-rust/statuses/668108a3f64688912fdcf2f0e176ffcc8d135d65","head":{"label":"alygin:quick-info","ref":"quick-info","sha":"668108a3f64688912fdcf2f0e176ffcc8d135d65","user":{"login":"alygin","id":2101250,"avatar_url":"https://avatars.githubusercontent.com/u/2101250?v=3","gravatar_id":"","url":"https://api.github.com/users/alygin","html_url":"https://github.com/alygin","followers_url":"https://api.github.com/users/alygin/followers","following_url":"https://api.github.com/users/alygin/following{/other_user}","gists_url":"https://api.github.com/users/alygin/gists{/gist_id}","starred_url":"https://api.github.com/users/alygin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alygin/subscriptions","organizations_url":"https://api.github.com/users/alygin/orgs","repos_url":"https://api.github.com/users/alygin/repos","events_url":"https://api.github.com/users/alygin/events{/privacy}","received_events_url":"https://api.github.com/users/alygin/received_events","type":"User","site_admin":false},"repo":{"id":63435229,"name":"intellij-rust","full_name":"alygin/intellij-rust","owner":{"login":"alygin","id":2101250,"avatar_url":"https://avatars.githubusercontent.com/u/2101250?v=3","gravatar_id":"","url":"https://api.github.com/users/alygin","html_url":"https://github.com/alygin","followers_url":"https://api.github.com/users/alygin/followers","following_url":"https://api.github.com/users/alygin/following{/other_user}","gists_url":"https://api.github.com/users/alygin/gists{/gist_id}","starred_url":"https://api.github.com/users/alygin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alygin/subscriptions","organizations_url":"https://api.github.com/users/alygin/orgs","repos_url":"https://api.github.com/users/alygin/repos","events_url":"https://api.github.com/users/alygin/events{/privacy}","received_events_url":"https://api.github.com/users/alygin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alygin/intellij-rust","description":"Rust IDE built using the IntelliJ Platform: https://intellij-rust.github.io/","fork":true,"url":"https://api.github.com/repos/alygin/intellij-rust","forks_url":"https://api.github.com/repos/alygin/intellij-rust/forks","keys_url":"https://api.github.com/repos/alygin/intellij-rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alygin/intellij-rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alygin/intellij-rust/teams","hooks_url":"https://api.github.com/repos/alygin/intellij-rust/hooks","issue_events_url":"https://api.github.com/repos/alygin/intellij-rust/issues/events{/number}","events_url":"https://api.github.com/repos/alygin/intellij-rust/events","assignees_url":"https://api.github.com/repos/alygin/intellij-rust/assignees{/user}","branches_url":"https://api.github.com/repos/alygin/intellij-rust/branches{/branch}","tags_url":"https://api.github.com/repos/alygin/intellij-rust/tags","blobs_url":"https://api.github.com/repos/alygin/intellij-rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alygin/intellij-rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alygin/intellij-rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/alygin/intellij-rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alygin/intellij-rust/statuses/{sha}","languages_url":"https://api.github.com/repos/alygin/intellij-rust/languages","stargazers_url":"https://api.github.com/repos/alygin/intellij-rust/stargazers","contributors_url":"https://api.github.com/repos/alygin/intellij-rust/contributors","subscribers_url":"https://api.github.com/repos/alygin/intellij-rust/subscribers","subscription_url":"https://api.github.com/repos/alygin/intellij-rust/subscription","commits_url":"https://api.github.com/repos/alygin/intellij-rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/alygin/intellij-rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/alygin/intellij-rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/alygin/intellij-rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/alygin/intellij-rust/contents/{+path}","compare_url":"https://api.github.com/repos/alygin/intellij-rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alygin/intellij-rust/merges","archive_url":"https://api.github.com/repos/alygin/intellij-rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alygin/intellij-rust/downloads","issues_url":"https://api.github.com/repos/alygin/intellij-rust/issues{/number}","pulls_url":"https://api.github.com/repos/alygin/intellij-rust/pulls{/number}","milestones_url":"https://api.github.com/repos/alygin/intellij-rust/milestones{/number}","notifications_url":"https://api.github.com/repos/alygin/intellij-rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alygin/intellij-rust/labels{/name}","releases_url":"https://api.github.com/repos/alygin/intellij-rust/releases{/id}","deployments_url":"https://api.github.com/repos/alygin/intellij-rust/deployments","created_at":"2016-07-15T16:16:28Z","updated_at":"2016-07-15T16:16:30Z","pushed_at":"2017-02-17T16:06:36Z","git_url":"git://github.com/alygin/intellij-rust.git","ssh_url":"git@github.com:alygin/intellij-rust.git","clone_url":"https://github.com/alygin/intellij-rust.git","svn_url":"https://github.com/alygin/intellij-rust","homepage":"","size":12826,"stargazers_count":0,"watchers_count":0,"language":"Kotlin","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"intellij-rust:master","ref":"master","sha":"9f545171d9c40b5e223e3c85a4d6bcdcb2aac3d0","user":{"login":"intellij-rust","id":16057867,"avatar_url":"https://avatars.githubusercontent.com/u/16057867?v=3","gravatar_id":"","url":"https://api.github.com/users/intellij-rust","html_url":"https://github.com/intellij-rust","followers_url":"https://api.github.com/users/intellij-rust/followers","following_url":"https://api.github.com/users/intellij-rust/following{/other_user}","gists_url":"https://api.github.com/users/intellij-rust/gists{/gist_id}","starred_url":"https://api.github.com/users/intellij-rust/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/intellij-rust/subscriptions","organizations_url":"https://api.github.com/users/intellij-rust/orgs","repos_url":"https://api.github.com/users/intellij-rust/repos","events_url":"https://api.github.com/users/intellij-rust/events{/privacy}","received_events_url":"https://api.github.com/users/intellij-rust/received_events","type":"Organization","site_admin":false},"repo":{"id":42619487,"name":"intellij-rust","full_name":"intellij-rust/intellij-rust","owner":{"login":"intellij-rust","id":16057867,"avatar_url":"https://avatars.githubusercontent.com/u/16057867?v=3","gravatar_id":"","url":"https://api.github.com/users/intellij-rust","html_url":"https://github.com/intellij-rust","followers_url":"https://api.github.com/users/intellij-rust/followers","following_url":"https://api.github.com/users/intellij-rust/following{/other_user}","gists_url":"https://api.github.com/users/intellij-rust/gists{/gist_id}","starred_url":"https://api.github.com/users/intellij-rust/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/intellij-rust/subscriptions","organizations_url":"https://api.github.com/users/intellij-rust/orgs","repos_url":"https://api.github.com/users/intellij-rust/repos","events_url":"https://api.github.com/users/intellij-rust/events{/privacy}","received_events_url":"https://api.github.com/users/intellij-rust/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/intellij-rust/intellij-rust","description":"Rust IDE built using the IntelliJ Platform: https://intellij-rust.github.io/","fork":false,"url":"https://api.github.com/repos/intellij-rust/intellij-rust","forks_url":"https://api.github.com/repos/intellij-rust/intellij-rust/forks","keys_url":"https://api.github.com/repos/intellij-rust/intellij-rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/intellij-rust/intellij-rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/intellij-rust/intellij-rust/teams","hooks_url":"https://api.github.com/repos/intellij-rust/intellij-rust/hooks","issue_events_url":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/events{/number}","events_url":"https://api.github.com/repos/intellij-rust/intellij-rust/events","assignees_url":"https://api.github.com/repos/intellij-rust/intellij-rust/assignees{/user}","branches_url":"https://api.github.com/repos/intellij-rust/intellij-rust/branches{/branch}","tags_url":"https://api.github.com/repos/intellij-rust/intellij-rust/tags","blobs_url":"https://api.github.com/repos/intellij-rust/intellij-rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/intellij-rust/intellij-rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/intellij-rust/intellij-rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/intellij-rust/intellij-rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/intellij-rust/intellij-rust/statuses/{sha}","languages_url":"https://api.github.com/repos/intellij-rust/intellij-rust/languages","stargazers_url":"https://api.github.com/repos/intellij-rust/intellij-rust/stargazers","contributors_url":"https://api.github.com/repos/intellij-rust/intellij-rust/contributors","subscribers_url":"https://api.github.com/repos/intellij-rust/intellij-rust/subscribers","subscription_url":"https://api.github.com/repos/intellij-rust/intellij-rust/subscription","commits_url":"https://api.github.com/repos/intellij-rust/intellij-rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/intellij-rust/intellij-rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/intellij-rust/intellij-rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/intellij-rust/intellij-rust/contents/{+path}","compare_url":"https://api.github.com/repos/intellij-rust/intellij-rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/intellij-rust/intellij-rust/merges","archive_url":"https://api.github.com/repos/intellij-rust/intellij-rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/intellij-rust/intellij-rust/downloads","issues_url":"https://api.github.com/repos/intellij-rust/intellij-rust/issues{/number}","pulls_url":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls{/number}","milestones_url":"https://api.github.com/repos/intellij-rust/intellij-rust/milestones{/number}","notifications_url":"https://api.github.com/repos/intellij-rust/intellij-rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/intellij-rust/intellij-rust/labels{/name}","releases_url":"https://api.github.com/repos/intellij-rust/intellij-rust/releases{/id}","deployments_url":"https://api.github.com/repos/intellij-rust/intellij-rust/deployments","created_at":"2015-09-16T23:44:57Z","updated_at":"2017-02-17T05:06:48Z","pushed_at":"2017-02-17T16:06:38Z","git_url":"git://github.com/intellij-rust/intellij-rust.git","ssh_url":"git@github.com:intellij-rust/intellij-rust.git","clone_url":"https://github.com/intellij-rust/intellij-rust.git","svn_url":"https://github.com/intellij-rust/intellij-rust","homepage":"","size":12819,"stargazers_count":1135,"watchers_count":1135,"language":"Kotlin","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":95,"mirror_url":null,"open_issues_count":86,"forks":95,"open_issues":86,"watchers":1135,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020"},"html":{"href":"https://github.com/intellij-rust/intellij-rust/pull/1020"},"issue":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/1020"},"comments":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/issues/1020/comments"},"review_comments":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020/comments"},"review_comment":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/pulls/1020/commits"},"statuses":{"href":"https://api.github.com/repos/intellij-rust/intellij-rust/statuses/668108a3f64688912fdcf2f0e176ffcc8d135d65"}}}}
{"actor":{"display_login":"alygin"}}