Update of extension - #24
Conversation
|
This is fantastic! Thank you for the PR! I have a lot of questions about this so please give me a couple of days to have a look and try it out. |
|
Let me know if you have any questions or problems, i would try to help |
|
Should the kind code stay in this repository, or should we upstream it into the kind repo? It would be better to have it here, but the problem is when there's upstream changes to the typechecker we have to fix the code here. Ideally there would be a stable api that we could write the LSP against so that would be less of a problem. The jump-to-definition seems to be using relative paths which don’t resolve any more, but I’m sure this is an easy fix. One of the main reasons I haven’t been able to update the plugin so far is that the type checker blows the stack somewhere and I haven’t yet been able to track down where. It sounds like this is the same reason you disabled the initial checking. Does the LSP still know about definitions you haven't opened in the vscode workspace, or do you need to open them to get the type information? |
|
Ok, I see why the jump to definition isn't working now. It's because the definitions are not loaded from a file, it's from the internet (in |
Hello, I tried to update the extension for the newest version of kind. My experience with lsp was none before i started this, so there is much more to do, and i appreciate some contribution/hints/critics/suggestions.
Some items of my contribution:
ctrl+rorcmd+rin vscode. They are:src/Lsp/Check.kindand from there we can call the functions foron_change,on_hover, etc.kind_defsandlsp_defs. The first one is a map of normal definitions described in Kind checking, and the second one is almost the same, but with an addition of a references map, that contains all references find while checking for one term. Then this can be used for hover and check at the same time.Things that need improvement:
lsp_defsandkind_defsare almost the same, should we join that? But this may cause trouble in kind caching system.