{"action":"created","issue":{"url":"https://api.github.com/repos/xi-editor/xi-editor/issues/659","repository_url":"https://api.github.com/repos/xi-editor/xi-editor","labels_url":"https://api.github.com/repos/xi-editor/xi-editor/issues/659/labels{/name}","comments_url":"https://api.github.com/repos/xi-editor/xi-editor/issues/659/comments","events_url":"https://api.github.com/repos/xi-editor/xi-editor/issues/659/events","html_url":"https://github.com/xi-editor/xi-editor/issues/659","id":323581033,"node_id":"MDU6SXNzdWUzMjM1ODEwMzM=","number":659,"title":"[GSoC] Language Server Protocol Plugin Support","user":{"login":"betterclever","id":16309034,"node_id":"MDQ6VXNlcjE2MzA5MDM0","avatar_url":"https://avatars2.githubusercontent.com/u/16309034?v=4","gravatar_id":"","url":"https://api.github.com/users/betterclever","html_url":"https://github.com/betterclever","followers_url":"https://api.github.com/users/betterclever/followers","following_url":"https://api.github.com/users/betterclever/following{/other_user}","gists_url":"https://api.github.com/users/betterclever/gists{/gist_id}","starred_url":"https://api.github.com/users/betterclever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/betterclever/subscriptions","organizations_url":"https://api.github.com/users/betterclever/orgs","repos_url":"https://api.github.com/users/betterclever/repos","events_url":"https://api.github.com/users/betterclever/events{/privacy}","received_events_url":"https://api.github.com/users/betterclever/received_events","type":"User","site_admin":false},"labels":[{"id":600883218,"node_id":"MDU6TGFiZWw2MDA4ODMyMTg=","url":"https://api.github.com/repos/xi-editor/xi-editor/labels/planning","name":"planning","color":"d4c5f9","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-16T11:31:59Z","updated_at":"2018-12-01T20:37:21Z","closed_at":null,"author_association":"MEMBER","body":"This is a roadmap of the the steps planned by me to add support for the Language Server Protocol (LSP) Plugin Support in the Xi Editor.\r\n\r\n### Roadmap\r\n_Will be refined over time_\r\n\r\n- [x] Get a basic plugin working which can access the document state.\r\n- [x] Discover improvements needed in current Plugin API to enable a very simple LSP usecase i.e. JSON.\r\n- [x] Get the JSON Plugin Working. The basic idea is to develop a crate which is abstraction over the plugin_lib, which JSON Plugin will use to communicate with the Editor. The validation error messages can be dumped to stderr to begin with.\r\n- [ ] Figure out a plan for the features in a specific order in the LSP Plugin including:\r\n    - [ ] Status Information\r\n    - [ ] Inline Error and Warning Display \r\n    - [ ] Hover Definitions\r\n    - [ ] Go to Definition\r\n    - [ ] Intelligent Autocompletion\r\n    - [ ] Highlight References\r\n    - [ ] Refactoring Support\r\n- [ ] Figure out a test language (probably Rust?) to begin with to implement and test all\r\nfeatures.\r\n\r\n**TODO**: More refined steps after the 4th step.\r\n\r\n### Planning\r\n\r\nThe basic architecture currently planned (needs review) can be described by the following picture.\r\n\r\n![lsp-archtecture](https://user-images.githubusercontent.com/16309034/40114310-f57da422-58fb-11e8-9325-74c34ff2f5b5.png)\r\n\r\n### Roadblocks / Open Questions.\r\n\r\n- **Managing Workspaces**. Who should manage the workspaces: Xi-Core or the Plugin itself?"},"comment":{"url":"https://api.github.com/repos/xi-editor/xi-editor/issues/comments/443456640","html_url":"https://github.com/xi-editor/xi-editor/issues/659#issuecomment-443456640","issue_url":"https://api.github.com/repos/xi-editor/xi-editor/issues/659","id":443456640,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MzQ1NjY0MA==","user":{"login":"cmyr","id":3330916,"node_id":"MDQ6VXNlcjMzMzA5MTY=","avatar_url":"https://avatars2.githubusercontent.com/u/3330916?v=4","gravatar_id":"","url":"https://api.github.com/users/cmyr","html_url":"https://github.com/cmyr","followers_url":"https://api.github.com/users/cmyr/followers","following_url":"https://api.github.com/users/cmyr/following{/other_user}","gists_url":"https://api.github.com/users/cmyr/gists{/gist_id}","starred_url":"https://api.github.com/users/cmyr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmyr/subscriptions","organizations_url":"https://api.github.com/users/cmyr/orgs","repos_url":"https://api.github.com/users/cmyr/repos","events_url":"https://api.github.com/users/cmyr/events{/privacy}","received_events_url":"https://api.github.com/users/cmyr/received_events","type":"User","site_admin":false},"created_at":"2018-12-01T20:37:21Z","updated_at":"2018-12-01T20:37:21Z","author_association":"MEMBER","body":"@skyne98 there was a bunch of exploratory work on this this summer, but the conclusion of that was that we should step back and work on incrementally adding support for the features that will _enable_ LSP support in the future. The issue linked above is a first step there."}}
{"actor":{"display_login":"cmyr"}}