{"action":"created","issue":{"url":"https://api.github.com/repos/veonim/veonim/issues/488","repository_url":"https://api.github.com/repos/veonim/veonim","labels_url":"https://api.github.com/repos/veonim/veonim/issues/488/labels{/name}","comments_url":"https://api.github.com/repos/veonim/veonim/issues/488/comments","events_url":"https://api.github.com/repos/veonim/veonim/issues/488/events","html_url":"https://github.com/veonim/veonim/issues/488","id":361918146,"node_id":"MDU6SXNzdWUzNjE5MTgxNDY=","number":488,"title":"really really make sure that langserv gets textDocument/didOpen|didChange","user":{"login":"breja","id":2581815,"node_id":"MDQ6VXNlcjI1ODE4MTU=","avatar_url":"https://avatars2.githubusercontent.com/u/2581815?v=4","gravatar_id":"","url":"https://api.github.com/users/breja","html_url":"https://github.com/breja","followers_url":"https://api.github.com/users/breja/followers","following_url":"https://api.github.com/users/breja/following{/other_user}","gists_url":"https://api.github.com/users/breja/gists{/gist_id}","starred_url":"https://api.github.com/users/breja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/breja/subscriptions","organizations_url":"https://api.github.com/users/breja/orgs","repos_url":"https://api.github.com/users/breja/repos","events_url":"https://api.github.com/users/breja/events{/privacy}","received_events_url":"https://api.github.com/users/breja/received_events","type":"User","site_admin":false},"labels":[{"id":1062924576,"node_id":"MDU6TGFiZWwxMDYyOTI0NTc2","url":"https://api.github.com/repos/veonim/veonim/labels/INVESTIGATE","name":"INVESTIGATE","color":"f4b942","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-09-19T20:38:40Z","updated_at":"2018-10-01T12:47:48Z","closed_at":null,"author_association":"MEMBER","body":"I haven't proven that this is definitely the case, but I'm 97.654932344412% sure there are scenarios where a vim buffer gets loaded or changed, but veonim does not send didOpen or didChange notifications to the langserv. In some cases, extensions may not even activate since a bufenter with a extension activation event matching filetype does not fire.\r\n\r\nI wonder if using buf notifications might get rid of the clunky bufenter commands (esp since buffers can be modified when hidden)\r\n\r\nInvestigate the following scenarios:\r\n- [ ] buffer being edited outside veonim\r\n- [ ] buffers loaded from a previous `:mksession`\r\n- [ ] buffers loaded after git branch switched\r\n  - test if language server picks up file changes, even if we `didOpen` it before. use a langserver that doesn't suck (aka don't use sourcegraph server because it loads files into memory)\r\n- [ ] jumping into buffers from \r\n  - [ ] find references\r\n  - [ ] grep searches\r\n  - [ ] jump to definition\r\n  - [ ] symbols list\r\n- [ ] rename apply patches\r\n- [ ] idk, thru some vim commands/vimscripts (`:vsplit somefile` or `:tabnew file2` etc)\r\n- [ ] creating a new file with `:e`\r\n\r\nIs there some generic way to get a global notification when ANY buffers are added/changed/removed in vim? Thinking ahead, we need to maintain a mirror copy of TextDocuments available thru a sync vscode api. We will need someway of solving for that, but it would also be useful for this case.\r\n\r\n\r\n**From previous issue #483:**\r\nI'm not sure, but I think we need to refresh the language servers that TextDocument(s) have changed if they were modified outside of the neovim app.\r\n\r\nAre we getting buffer change autocmds triggering if a buffer changes outside? Maybe only the active one. Any others open probably do not.\r\n\r\nA good example of this: changing the current git branch. This may reload many buffers with changes. The langserver is not aware of this.\r\n\r\nFollow-up question: does the new neovim buffer notification events tell us if hidden buffers were modified?"},"comment":{"url":"https://api.github.com/repos/veonim/veonim/issues/comments/425894570","html_url":"https://github.com/veonim/veonim/issues/488#issuecomment-425894570","issue_url":"https://api.github.com/repos/veonim/veonim/issues/488","id":425894570,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNTg5NDU3MA==","user":{"login":"breja","id":2581815,"node_id":"MDQ6VXNlcjI1ODE4MTU=","avatar_url":"https://avatars2.githubusercontent.com/u/2581815?v=4","gravatar_id":"","url":"https://api.github.com/users/breja","html_url":"https://github.com/breja","followers_url":"https://api.github.com/users/breja/followers","following_url":"https://api.github.com/users/breja/following{/other_user}","gists_url":"https://api.github.com/users/breja/gists{/gist_id}","starred_url":"https://api.github.com/users/breja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/breja/subscriptions","organizations_url":"https://api.github.com/users/breja/orgs","repos_url":"https://api.github.com/users/breja/repos","events_url":"https://api.github.com/users/breja/events{/privacy}","received_events_url":"https://api.github.com/users/breja/received_events","type":"User","site_admin":false},"created_at":"2018-10-01T12:47:48Z","updated_at":"2018-10-01T12:47:48Z","author_association":"MEMBER","body":"SCSS no langserv features repro:\r\n\r\n- open .scss file\r\n- open js file\r\n- `mks! ~/ss`\r\n- reload veonim\r\n- `source ~/ss`\r\n- js file should be visible, switch to scss buffer\r\n- didOpen notification did not send\r\n\r\nThis has to be one of the dumbest fixes in the history of fixes, maybe ever.\r\n\r\n![dfp](https://user-images.githubusercontent.com/2581815/46289233-71171e80-c556-11e8-9d84-bbb728255f35.jpg)\r\n\r\nShould be maybe hopefully perhaps fixed on master. 79ea1f617ed0ad30666d465ae00426e529ffc215"}}
{"actor":{"display_login":"breja"}}