{"action":"closed","issue":{"url":"https://api.github.com/repos/commercialhaskell/stack-ide/issues/24","labels_url":"https://api.github.com/repos/commercialhaskell/stack-ide/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/commercialhaskell/stack-ide/issues/24/comments","events_url":"https://api.github.com/repos/commercialhaskell/stack-ide/issues/24/events","html_url":"https://github.com/commercialhaskell/stack-ide/issues/24","id":95795440,"number":24,"title":"Make autocompletion API more idiomatic","user":{"login":"mgsloan","id":22570,"avatar_url":"https://avatars.githubusercontent.com/u/22570?v=3","gravatar_id":"","url":"https://api.github.com/users/mgsloan","html_url":"https://github.com/mgsloan","followers_url":"https://api.github.com/users/mgsloan/followers","following_url":"https://api.github.com/users/mgsloan/following{/other_user}","gists_url":"https://api.github.com/users/mgsloan/gists{/gist_id}","starred_url":"https://api.github.com/users/mgsloan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgsloan/subscriptions","organizations_url":"https://api.github.com/users/mgsloan/orgs","repos_url":"https://api.github.com/users/mgsloan/repos","events_url":"https://api.github.com/users/mgsloan/events{/privacy}","received_events_url":"https://api.github.com/users/mgsloan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"mgsloan","id":22570,"avatar_url":"https://avatars.githubusercontent.com/u/22570?v=3","gravatar_id":"","url":"https://api.github.com/users/mgsloan","html_url":"https://github.com/mgsloan","followers_url":"https://api.github.com/users/mgsloan/followers","following_url":"https://api.github.com/users/mgsloan/following{/other_user}","gists_url":"https://api.github.com/users/mgsloan/gists{/gist_id}","starred_url":"https://api.github.com/users/mgsloan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgsloan/subscriptions","organizations_url":"https://api.github.com/users/mgsloan/orgs","repos_url":"https://api.github.com/users/mgsloan/repos","events_url":"https://api.github.com/users/mgsloan/events{/privacy}","received_events_url":"https://api.github.com/users/mgsloan/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-07-18T06:33:35Z","updated_at":"2015-08-06T21:21:59Z","closed_at":"2015-08-06T21:21:59Z","body":"This issue is tracking updating the autocompletion API to more closely match ide-backend.\r\n\r\nFrom the API code:\r\n\r\n> -- * We try to roughly have a one-to-one mapping between the functions exported\r\n> --   by IdeSession; for instance, ide-backend's `updateSourceFileFromFile`\r\n> --   corresponds to the `RequestUpdateSourceFileFromFile` request and the\r\n> --   `ResponseUpdateSourceFileFromFile` response.\r\n\r\nHowever, the current autocompletion API does some smart stuff where it splits off the qualifier and filters the results in various ways.  It also only yields some portions of the info.  While this intelligence may be desirable, such logic should either be moved into ide-backend or the client.\r\n\r\nI suspect that one of the reasons for it only yielding some of the info is to reduce the overall size of the response.  Yielding the full list of autocompletions could indeed be quite a lot of info, but I think #23 will address this well.\r\n\r\nOn the other hand, it might be a good idea for `stack-ide` to have some command variants that add some smarts and convenience.  This will save the redundancy of implementing such smarts in all the clients.  It does seem like a good idea to at least expose the more direct wrapping of ide-backend, though.\r\n\r\n@lukexi Looks like you've got support for the current autocompletion api in your sublime plugin.  Cool!  Thoughts on changing the API like this?  Maybe it'd be good to have both `RequestGetAutoCompletion` and `RequestGetAutoCompletionSmart`?"}}