-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update of extension #24
base: main
Are you sure you want to change the base?
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+r
orcmd+r
in vscode. They are:src/Lsp/Check.kind
and from there we can call the functions foron_change
,on_hover
, etc.kind_defs
andlsp_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_defs
andkind_defs
are almost the same, should we join that? But this may cause trouble in kind caching system.