{"action":"created","issue":{"url":"https://api.github.com/repos/joaotavora/eglot/issues/138","repository_url":"https://api.github.com/repos/joaotavora/eglot","labels_url":"https://api.github.com/repos/joaotavora/eglot/issues/138/labels{/name}","comments_url":"https://api.github.com/repos/joaotavora/eglot/issues/138/comments","events_url":"https://api.github.com/repos/joaotavora/eglot/issues/138/events","html_url":"https://github.com/joaotavora/eglot/pull/138","id":375241391,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI2NzMyOTQ5","number":138,"title":"Tolerate other keys in textDocument/documentSymbol","user":{"login":"meqif","id":1706,"node_id":"MDQ6VXNlcjE3MDY=","avatar_url":"https://avatars1.githubusercontent.com/u/1706?v=4","gravatar_id":"","url":"https://api.github.com/users/meqif","html_url":"https://github.com/meqif","followers_url":"https://api.github.com/users/meqif/followers","following_url":"https://api.github.com/users/meqif/following{/other_user}","gists_url":"https://api.github.com/users/meqif/gists{/gist_id}","starred_url":"https://api.github.com/users/meqif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meqif/subscriptions","organizations_url":"https://api.github.com/users/meqif/orgs","repos_url":"https://api.github.com/users/meqif/repos","events_url":"https://api.github.com/users/meqif/events{/privacy}","received_events_url":"https://api.github.com/users/meqif/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-29T22:21:15Z","updated_at":"2018-10-29T23:51:21Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/joaotavora/eglot/pulls/138","html_url":"https://github.com/joaotavora/eglot/pull/138","diff_url":"https://github.com/joaotavora/eglot/pull/138.diff","patch_url":"https://github.com/joaotavora/eglot/pull/138.patch"},"body":"Some LSP servers such as [solargraph](https://github.com/castwide/solargraph) may send additional keys in the response to `textDocument/documentSymbol` requests, causing errors such as the following:\r\n\r\n```\r\nKeyword argument :deprecated not one of (:name :kind :location :containerName)\r\n```\r\n\r\nThe corresponding code in solargraph is the following: https://github.com/castwide/solargraph/blob/db06853eff05bb597a40babc78844524bea29139/lib/solargraph/language_server/message/text_document/document_symbol.rb\r\n\r\nThus, the extraneous keys must be ignored."},"comment":{"url":"https://api.github.com/repos/joaotavora/eglot/issues/comments/434122348","html_url":"https://github.com/joaotavora/eglot/pull/138#issuecomment-434122348","issue_url":"https://api.github.com/repos/joaotavora/eglot/issues/138","id":434122348,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDEyMjM0OA==","user":{"login":"MaskRay","id":416322,"node_id":"MDQ6VXNlcjQxNjMyMg==","avatar_url":"https://avatars3.githubusercontent.com/u/416322?v=4","gravatar_id":"","url":"https://api.github.com/users/MaskRay","html_url":"https://github.com/MaskRay","followers_url":"https://api.github.com/users/MaskRay/followers","following_url":"https://api.github.com/users/MaskRay/following{/other_user}","gists_url":"https://api.github.com/users/MaskRay/gists{/gist_id}","starred_url":"https://api.github.com/users/MaskRay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaskRay/subscriptions","organizations_url":"https://api.github.com/users/MaskRay/orgs","repos_url":"https://api.github.com/users/MaskRay/repos","events_url":"https://api.github.com/users/MaskRay/events{/privacy}","received_events_url":"https://api.github.com/users/MaskRay/received_events","type":"User","site_admin":false},"created_at":"2018-10-29T23:51:21Z","updated_at":"2018-10-29T23:51:21Z","author_association":"CONTRIBUTOR","body":"`textDocument/documentSymbol` can return either `SymbolInformation[]` or `DocumentSymbol[]`. Both interfaces contain `deprecated?`. Even if they do not, I feel \r\n\r\nDon't know TypeScript much, but I feel even if they do not, it is reasonable to allow excess properties not specified in the interfaces. \r\nhttps://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#strict-object-literal-assignment-checking"}}
{"actor":{"display_login":"MaskRay"}}