Comments (8)
That's really helpful, thanks for making that.
Looking at it, it might have been that bug after all. In the worst case when you hover between words, it was trying to type check the whole document, and then got stuck.
from idris-vscode.
#60 was a bug in that it was evaluating both the early-out code-paths and the long-form code paths, but returning immediately regardless. I do believe, however, that there's still a bug- the final res(...)
lines should either be returned or awaited as well.
This, however, will mean that the promise in question won't insta-return, and something may currently be relying on that bug to function.
Edit: Disregard this- I misread the PR context, and assumed res
was a promise-function, not the constructor to Promise
's resolve callback. Too much time spent with Rust futures ^^;
from idris-vscode.
That fix is released in the 0.0.10 version.
from idris-vscode.
It sounds like an issue with the idris2 process starting. Can you run idris2 --ide-mode --find-ipkg
in the project directory and see what it outputs?
from idris-vscode.
Hey, I have the same issue. Running idris2 --ide-mode --find-ipkg
gives the expected output:
> idris2 --ide-mode --find-ipkg
000018(:protocol-version 2 0)
Is there something else I can try in order to debug this? Thanks!
from idris-vscode.
Are you also using 0.4.0, and do you have an example of a repo where this is happening?
I'm testing on the Idris2 repo because most people have that, but it's a bit problematic because the idris2 --ide-mode --find-ipkg
command is confused by the two ipkgs files, but if I temporarily remove the idris2api.ipkg file, it works. I'm using 0.4.0, from the Nixos unstable channel.
The best way to test is to clone this repo, change line 76 in src/state.ts to debug: true
and rebuild it. The readme has instructions for running locally. In the debug console in VS you will be able to see all of the messages that go to and from and ide-process.
<< 00003e((:load-file "/home/michael/dev/Idris2/src/Core/Hash.idr") 1)
>> (:protocol-version 2 0)
>> ...lots of source highlighting messages
If it's not working for some reason, like the ipkg thing, it won't show anything after the :load-file
message.
from idris-vscode.
Thanks! This is a snippet where I can reproduce it and I've made a screencast of the issue:
demo.mp4
First I hover over example
and it works just fine.
Next, I hover over the colon in the type definition of example
. Afterwards, the CPU load goes up and it gets unresponsive.
I'm running Ubuntu 20.04 and I've built Idris 2 from source (v0.4.0
tag).
from idris-vscode.
I just tested #60, and it actually seems to fix this issue for me!
from idris-vscode.
Related Issues (20)
- open-vsx support HOT 3
- Explain how to install this HOT 4
- ERR_STREAM_DESTROYED when trying to run command `idris.addClause` HOT 8
- Syntax highlighting sometimes fails HOT 3
- show type not working in .lidr file HOT 9
- Support v0.4.0 HOT 2
- Version 0.5.0 HOT 1
- file path is wrong within workspace with multiple folders HOT 4
- Is it possible to get hole type with just keyboard, not with mouse hover? HOT 2
- What do you think of idris2-lsp-vscode? HOT 4
- Feature request: Jump to definition, Ctrl-Click. HOT 4
- "Idris 2 mode" checkbox is missing HOT 1
- Failed to load file. HOT 2
- Error display in wrong line: always 1 line upper HOT 8
- How to configure packages? HOT 10
- Publish 0.0.14 to Open VSX HOT 1
- Having issue with extension HOT 4
- Activate extension on language 'idris2' too HOT 6
- Add Missing is not working
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from idris-vscode.