{"action":"created","issue":{"url":"https://api.github.com/repos/atom/atom/issues/4364","labels_url":"https://api.github.com/repos/atom/atom/issues/4364/labels{/name}","comments_url":"https://api.github.com/repos/atom/atom/issues/4364/comments","events_url":"https://api.github.com/repos/atom/atom/issues/4364/events","html_url":"https://github.com/atom/atom/issues/4364","id":50596442,"number":4364,"title":"Autocomplete Next","user":{"login":"benogle","id":69169,"avatar_url":"https://avatars.githubusercontent.com/u/69169?v=3","gravatar_id":"","url":"https://api.github.com/users/benogle","html_url":"https://github.com/benogle","followers_url":"https://api.github.com/users/benogle/followers","following_url":"https://api.github.com/users/benogle/following{/other_user}","gists_url":"https://api.github.com/users/benogle/gists{/gist_id}","starred_url":"https://api.github.com/users/benogle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benogle/subscriptions","organizations_url":"https://api.github.com/users/benogle/orgs","repos_url":"https://api.github.com/users/benogle/repos","events_url":"https://api.github.com/users/benogle/events{/privacy}","received_events_url":"https://api.github.com/users/benogle/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/atom/atom/labels/1.0-roadmap","name":"1.0-roadmap","color":"5319e7"},{"url":"https://api.github.com/repos/atom/atom/labels/atom","name":"atom","color":"bfdadc"},{"url":"https://api.github.com/repos/atom/atom/labels/enhancement","name":"enhancement","color":"bfd4f2"},{"url":"https://api.github.com/repos/atom/atom/labels/in-progress","name":"in-progress","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":39,"created_at":"2014-12-02T00:10:28Z","updated_at":"2015-03-15T22:44:54Z","closed_at":null,"body":"We're not quite ready to tackle a new autocomplete yet, but I wanted to start the conversation as there are several folks interested in working on autocomplete: @mark-hahn, @lee-dohm, @joefitzgerald, @abe33.\r\n\r\nOnce we finish with API related things, I was planning on:\r\n\r\n* Looking at `autocomplete-plus` code\r\n* Checking out all of the existing providers out there.\r\n  * How many are out there? What are the popular ones?\r\n* Looking at code @mark-hahn and @lee-dohm produced recently\r\n* Looking at other editors. How do they do it? Do they have APIs?\r\n* Are there autocomplete daemons out there we can use (e.g. https://github.com/nsf/gocode for Go)\r\n\r\nThen I would come up with a plan of attack for the new version. In my mind, we have a couple options:\r\n\r\n* Extend `autocomplete` with an API\r\n* Take over `autocomplete-plus` with some modifications and API changes\r\n* Write something completely new\r\n\r\nI am not sure what the best way forward is right now. I do feel, though, that the hard part is not the UI that pops up the completion box, it's having great language support, and a nice API for adding completions.\r\n\r\nIt would be great if you guys could help me / us work through the research phase. Off the top of my head, I'm thinking these would be a big help:\r\n\r\n* Your opinions and suggestions for the provider API.\r\n* Your architectural suggestions (I know @mark-hahn wrote one recently)\r\n* Comments explaining the pitfalls and your frustrations of the current `autocomplete-plus` API. Maybe suggestions on improvements.\r\n* Links to autocomplete providers for languages (either generic providers or for other editors)\r\n* Explanations / links to APIs in other editors\r\n* General autocomplete API related frustrations and desires\r\n\r\n## Resources\r\n\r\n* Discuss thread: https://discuss.atom.io/t/what-can-we-do-to-improve-autocomplete/13001\r\n* @mark-hahn + @lee-dohm's autocomplete: https://github.com/mark-hahn/autocomplete-generic\r\n* https://github.com/atom-community/autocomplete-plus\r\n* https://github.com/HaxeIDE/atom-autocomplete-plus-async\r\n\r\n### Providers\r\n\r\n* Ruby provider: https://atom.io/packages/rsense\r\n* Rust provider: https://atom.io/packages/racer\r\n* Go generic provider: https://github.com/nsf/gocode\r\n* Python generic provider: https://github.com/davidhalter/jedi\r\n* JS: https://github.com/marijnh/tern ; https://github.com/majutsushi/tagbar/wiki#javascript\r\n* Coffee: https://github.com/lukaszkorecki/CoffeeTags ; https://github.com/mntmn/tern-coffeescript\r\n\r\n### Autocomplete+ providers\r\n\r\nhttps://github.com/atom-community/autocomplete-plus/wiki/Autocomplete-Providers\r\n"},"comment":{"url":"https://api.github.com/repos/atom/atom/issues/comments/81275616","html_url":"https://github.com/atom/atom/issues/4364#issuecomment-81275616","issue_url":"https://api.github.com/repos/atom/atom/issues/4364","id":81275616,"user":{"login":"sandstrom","id":122287,"avatar_url":"https://avatars.githubusercontent.com/u/122287?v=3","gravatar_id":"","url":"https://api.github.com/users/sandstrom","html_url":"https://github.com/sandstrom","followers_url":"https://api.github.com/users/sandstrom/followers","following_url":"https://api.github.com/users/sandstrom/following{/other_user}","gists_url":"https://api.github.com/users/sandstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/sandstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandstrom/subscriptions","organizations_url":"https://api.github.com/users/sandstrom/orgs","repos_url":"https://api.github.com/users/sandstrom/repos","events_url":"https://api.github.com/users/sandstrom/events{/privacy}","received_events_url":"https://api.github.com/users/sandstrom/received_events","type":"User","site_admin":false},"created_at":"2015-03-15T22:44:54Z","updated_at":"2015-03-15T22:44:54Z","body":"A wish would be 'inline-autocomplete', i.e. an UI-less mode where a keypress will rotate among the alternatives (similar to how it works in Textmate).\r\n\r\nThis package supports this, but it's not as nicely integrated with Atom as the regular autocomplete package, and since this is a core feature of an editor I'd much prefer using an official package.\r\nhttps://atom.io/packages/inline-autocomplete"}}