{"action":"closed","number":124,"pull_request":{"url":"https://api.github.com/repos/Valloric/ycmd/pulls/124","id":34887695,"html_url":"https://github.com/Valloric/ycmd/pull/124","diff_url":"https://github.com/Valloric/ycmd/pull/124.diff","patch_url":"https://github.com/Valloric/ycmd/pull/124.patch","issue_url":"https://api.github.com/repos/Valloric/ycmd/issues/124","number":124,"state":"closed","locked":false,"title":"Structured completion data format for parameters","user":{"login":"Qusic","id":2141853,"avatar_url":"https://avatars.githubusercontent.com/u/2141853?v=3","gravatar_id":"","url":"https://api.github.com/users/Qusic","html_url":"https://github.com/Qusic","followers_url":"https://api.github.com/users/Qusic/followers","following_url":"https://api.github.com/users/Qusic/following{/other_user}","gists_url":"https://api.github.com/users/Qusic/gists{/gist_id}","starred_url":"https://api.github.com/users/Qusic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qusic/subscriptions","organizations_url":"https://api.github.com/users/Qusic/orgs","repos_url":"https://api.github.com/users/Qusic/repos","events_url":"https://api.github.com/users/Qusic/events{/privacy}","received_events_url":"https://api.github.com/users/Qusic/received_events","type":"User","site_admin":false},"body":"See also issue #121\r\n\r\nCompletion objects have these properties:\r\n* `typed_string`<br />Text that users would be expected to type to get this completion result. \r\n* `display_string`<br />Text that is displayed for users.\r\n* `completion_parts`<br />An array of completion part objects.\r\n* `result_type`<br />Such as 'int', 'void', 'unsigned long'.\r\n* `kind`<br />Such as 'function', 'class', 'variable'.\r\n* `doc_string`<br />Doc string.\r\n* `extra_data`<br />An object contains completer-specific data.\r\n\r\nCompletion part objects have these properties:\r\n* `part`<br />String value of the part.\r\n* `literal`<br />Bool value that indicates whether this part should be inserted directly as a literal string or as a placeholder for users to insert code.\r\n\r\nTwo examples are below.\r\n```\r\n{\r\n  \"typed_string\": \"vector\",\r\n  \"display_string\": \"vector<typename _Tp, typename _Alloc>\",\r\n  \"kind\": \"CLASS\",\r\n  \"completion_parts\": [\r\n    { \"part\": \"vector<\", literal: true },\r\n    { \"part\": \"typename _Tp\", literal: false },\r\n    { \"part\": \", \", literal: true },\r\n    { \"part\": \"typename _Alloc\", literal: false },\r\n    { \"part\": \">\", literal: true }\r\n  ]\r\n}\r\n\r\n{\r\n  \"typed_string\": \"withArg2:withArg3:\",\r\n  \"display_string\": \"test:withArg2:(int) withArg3:(int)\",\r\n  \"result_type\": \"void\",\r\n  \"kind\": \"FUNCTION\",\r\n  \"completion_parts\": [\r\n    { \"part\": \"withArg2:\", literal: true },\r\n    { \"part\": \"(int)\", literal: false },\r\n    { \"part\": \" withArg3:\", literal: true },\r\n    { \"part\": \"(int)\", literal: false }\r\n  ]\r\n}\r\n```\r\n\r\nIt is now working with identifier completer, clang completer and python completer. Tests are also updated. It should be able to put an end to major objc completion issues such as https://github.com/Valloric/YouCompleteMe/issues/1221.\r\nHowever I haven't tested with cs completer and go completer because I am not familiar with those two languages.\r\n\r\n(I have signed the Google CLA.)","created_at":"2015-05-07T06:54:05Z","updated_at":"2015-05-19T22:51:21Z","closed_at":"2015-05-19T22:51:21Z","merged_at":null,"merge_commit_sha":"f79d810cc079db77248df83b1d8e10a7e9592521","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Valloric/ycmd/pulls/124/commits","review_comments_url":"https://api.github.com/repos/Valloric/ycmd/pulls/124/comments","review_comment_url":"https://api.github.com/repos/Valloric/ycmd/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Valloric/ycmd/issues/124/comments","statuses_url":"https://api.github.com/repos/Valloric/ycmd/statuses/07f5e905e756b4beabbaf58bf35c58f51626cefe","head":{"label":"Qusic:master","ref":"master","sha":"07f5e905e756b4beabbaf58bf35c58f51626cefe","user":{"login":"Qusic","id":2141853,"avatar_url":"https://avatars.githubusercontent.com/u/2141853?v=3","gravatar_id":"","url":"https://api.github.com/users/Qusic","html_url":"https://github.com/Qusic","followers_url":"https://api.github.com/users/Qusic/followers","following_url":"https://api.github.com/users/Qusic/following{/other_user}","gists_url":"https://api.github.com/users/Qusic/gists{/gist_id}","starred_url":"https://api.github.com/users/Qusic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qusic/subscriptions","organizations_url":"https://api.github.com/users/Qusic/orgs","repos_url":"https://api.github.com/users/Qusic/repos","events_url":"https://api.github.com/users/Qusic/events{/privacy}","received_events_url":"https://api.github.com/users/Qusic/received_events","type":"User","site_admin":false},"repo":{"id":34835689,"name":"ycmd","full_name":"Qusic/ycmd","owner":{"login":"Qusic","id":2141853,"avatar_url":"https://avatars.githubusercontent.com/u/2141853?v=3","gravatar_id":"","url":"https://api.github.com/users/Qusic","html_url":"https://github.com/Qusic","followers_url":"https://api.github.com/users/Qusic/followers","following_url":"https://api.github.com/users/Qusic/following{/other_user}","gists_url":"https://api.github.com/users/Qusic/gists{/gist_id}","starred_url":"https://api.github.com/users/Qusic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qusic/subscriptions","organizations_url":"https://api.github.com/users/Qusic/orgs","repos_url":"https://api.github.com/users/Qusic/repos","events_url":"https://api.github.com/users/Qusic/events{/privacy}","received_events_url":"https://api.github.com/users/Qusic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Qusic/ycmd","description":"A code-completion & code-comprehension server","fork":true,"url":"https://api.github.com/repos/Qusic/ycmd","forks_url":"https://api.github.com/repos/Qusic/ycmd/forks","keys_url":"https://api.github.com/repos/Qusic/ycmd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Qusic/ycmd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Qusic/ycmd/teams","hooks_url":"https://api.github.com/repos/Qusic/ycmd/hooks","issue_events_url":"https://api.github.com/repos/Qusic/ycmd/issues/events{/number}","events_url":"https://api.github.com/repos/Qusic/ycmd/events","assignees_url":"https://api.github.com/repos/Qusic/ycmd/assignees{/user}","branches_url":"https://api.github.com/repos/Qusic/ycmd/branches{/branch}","tags_url":"https://api.github.com/repos/Qusic/ycmd/tags","blobs_url":"https://api.github.com/repos/Qusic/ycmd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Qusic/ycmd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Qusic/ycmd/git/refs{/sha}","trees_url":"https://api.github.com/repos/Qusic/ycmd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Qusic/ycmd/statuses/{sha}","languages_url":"https://api.github.com/repos/Qusic/ycmd/languages","stargazers_url":"https://api.github.com/repos/Qusic/ycmd/stargazers","contributors_url":"https://api.github.com/repos/Qusic/ycmd/contributors","subscribers_url":"https://api.github.com/repos/Qusic/ycmd/subscribers","subscription_url":"https://api.github.com/repos/Qusic/ycmd/subscription","commits_url":"https://api.github.com/repos/Qusic/ycmd/commits{/sha}","git_commits_url":"https://api.github.com/repos/Qusic/ycmd/git/commits{/sha}","comments_url":"https://api.github.com/repos/Qusic/ycmd/comments{/number}","issue_comment_url":"https://api.github.com/repos/Qusic/ycmd/issues/comments{/number}","contents_url":"https://api.github.com/repos/Qusic/ycmd/contents/{+path}","compare_url":"https://api.github.com/repos/Qusic/ycmd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Qusic/ycmd/merges","archive_url":"https://api.github.com/repos/Qusic/ycmd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Qusic/ycmd/downloads","issues_url":"https://api.github.com/repos/Qusic/ycmd/issues{/number}","pulls_url":"https://api.github.com/repos/Qusic/ycmd/pulls{/number}","milestones_url":"https://api.github.com/repos/Qusic/ycmd/milestones{/number}","notifications_url":"https://api.github.com/repos/Qusic/ycmd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Qusic/ycmd/labels{/name}","releases_url":"https://api.github.com/repos/Qusic/ycmd/releases{/id}","created_at":"2015-04-30T05:17:42Z","updated_at":"2015-05-07T09:56:48Z","pushed_at":"2015-05-17T02:26:07Z","git_url":"git://github.com/Qusic/ycmd.git","ssh_url":"git@github.com:Qusic/ycmd.git","clone_url":"https://github.com/Qusic/ycmd.git","svn_url":"https://github.com/Qusic/ycmd","homepage":null,"size":6154,"stargazers_count":0,"watchers_count":0,"language":"C++","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":"atom"}},"base":{"label":"Valloric:master","ref":"master","sha":"0893c03a7c0724e7af6aa3e960536557574e7afd","user":{"login":"Valloric","id":919444,"avatar_url":"https://avatars.githubusercontent.com/u/919444?v=3","gravatar_id":"","url":"https://api.github.com/users/Valloric","html_url":"https://github.com/Valloric","followers_url":"https://api.github.com/users/Valloric/followers","following_url":"https://api.github.com/users/Valloric/following{/other_user}","gists_url":"https://api.github.com/users/Valloric/gists{/gist_id}","starred_url":"https://api.github.com/users/Valloric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Valloric/subscriptions","organizations_url":"https://api.github.com/users/Valloric/orgs","repos_url":"https://api.github.com/users/Valloric/repos","events_url":"https://api.github.com/users/Valloric/events{/privacy}","received_events_url":"https://api.github.com/users/Valloric/received_events","type":"User","site_admin":false},"repo":{"id":19832415,"name":"ycmd","full_name":"Valloric/ycmd","owner":{"login":"Valloric","id":919444,"avatar_url":"https://avatars.githubusercontent.com/u/919444?v=3","gravatar_id":"","url":"https://api.github.com/users/Valloric","html_url":"https://github.com/Valloric","followers_url":"https://api.github.com/users/Valloric/followers","following_url":"https://api.github.com/users/Valloric/following{/other_user}","gists_url":"https://api.github.com/users/Valloric/gists{/gist_id}","starred_url":"https://api.github.com/users/Valloric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Valloric/subscriptions","organizations_url":"https://api.github.com/users/Valloric/orgs","repos_url":"https://api.github.com/users/Valloric/repos","events_url":"https://api.github.com/users/Valloric/events{/privacy}","received_events_url":"https://api.github.com/users/Valloric/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Valloric/ycmd","description":"A code-completion & code-comprehension server","fork":false,"url":"https://api.github.com/repos/Valloric/ycmd","forks_url":"https://api.github.com/repos/Valloric/ycmd/forks","keys_url":"https://api.github.com/repos/Valloric/ycmd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Valloric/ycmd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Valloric/ycmd/teams","hooks_url":"https://api.github.com/repos/Valloric/ycmd/hooks","issue_events_url":"https://api.github.com/repos/Valloric/ycmd/issues/events{/number}","events_url":"https://api.github.com/repos/Valloric/ycmd/events","assignees_url":"https://api.github.com/repos/Valloric/ycmd/assignees{/user}","branches_url":"https://api.github.com/repos/Valloric/ycmd/branches{/branch}","tags_url":"https://api.github.com/repos/Valloric/ycmd/tags","blobs_url":"https://api.github.com/repos/Valloric/ycmd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Valloric/ycmd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Valloric/ycmd/git/refs{/sha}","trees_url":"https://api.github.com/repos/Valloric/ycmd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Valloric/ycmd/statuses/{sha}","languages_url":"https://api.github.com/repos/Valloric/ycmd/languages","stargazers_url":"https://api.github.com/repos/Valloric/ycmd/stargazers","contributors_url":"https://api.github.com/repos/Valloric/ycmd/contributors","subscribers_url":"https://api.github.com/repos/Valloric/ycmd/subscribers","subscription_url":"https://api.github.com/repos/Valloric/ycmd/subscription","commits_url":"https://api.github.com/repos/Valloric/ycmd/commits{/sha}","git_commits_url":"https://api.github.com/repos/Valloric/ycmd/git/commits{/sha}","comments_url":"https://api.github.com/repos/Valloric/ycmd/comments{/number}","issue_comment_url":"https://api.github.com/repos/Valloric/ycmd/issues/comments{/number}","contents_url":"https://api.github.com/repos/Valloric/ycmd/contents/{+path}","compare_url":"https://api.github.com/repos/Valloric/ycmd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Valloric/ycmd/merges","archive_url":"https://api.github.com/repos/Valloric/ycmd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Valloric/ycmd/downloads","issues_url":"https://api.github.com/repos/Valloric/ycmd/issues{/number}","pulls_url":"https://api.github.com/repos/Valloric/ycmd/pulls{/number}","milestones_url":"https://api.github.com/repos/Valloric/ycmd/milestones{/number}","notifications_url":"https://api.github.com/repos/Valloric/ycmd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Valloric/ycmd/labels{/name}","releases_url":"https://api.github.com/repos/Valloric/ycmd/releases{/id}","created_at":"2014-05-15T19:30:17Z","updated_at":"2015-05-18T07:13:23Z","pushed_at":"2015-05-19T22:46:02Z","git_url":"git://github.com/Valloric/ycmd.git","ssh_url":"git@github.com:Valloric/ycmd.git","clone_url":"https://github.com/Valloric/ycmd.git","svn_url":"https://github.com/Valloric/ycmd","homepage":null,"size":8631,"stargazers_count":282,"watchers_count":282,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":146,"mirror_url":null,"open_issues_count":17,"forks":146,"open_issues":17,"watchers":282,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Valloric/ycmd/pulls/124"},"html":{"href":"https://github.com/Valloric/ycmd/pull/124"},"issue":{"href":"https://api.github.com/repos/Valloric/ycmd/issues/124"},"comments":{"href":"https://api.github.com/repos/Valloric/ycmd/issues/124/comments"},"review_comments":{"href":"https://api.github.com/repos/Valloric/ycmd/pulls/124/comments"},"review_comment":{"href":"https://api.github.com/repos/Valloric/ycmd/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Valloric/ycmd/pulls/124/commits"},"statuses":{"href":"https://api.github.com/repos/Valloric/ycmd/statuses/07f5e905e756b4beabbaf58bf35c58f51626cefe"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":17,"review_comments":4,"commits":21,"additions":330,"deletions":352,"changed_files":25}}