Skip to content
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

Show tooltip with more info #24

Open
gparmeggiani opened this issue Apr 8, 2021 · 6 comments · May be fixed by #40
Open

Show tooltip with more info #24

gparmeggiani opened this issue Apr 8, 2021 · 6 comments · May be fixed by #40

Comments

@gparmeggiani
Copy link

Hi,

I think it would be very useful if a tooltip appeared every time I hovered on an instruction. Ideally, in this tooltip I'd like to see a description of the instruction and some other details, like the number of cycles it takes to execute (according to the instruction set manual).

I'm not sure how hard/easy it is to implement this and if the tmlanguage support this. If it is just a matter of data-entry, I'd be happy to contribute.

@dan-c-underwood
Copy link
Owner

Hey! Thanks for the suggestion. I've had challenges around this sort of topic before with copyright restrictions and the Arm reference manuals. E.g., in the Armv8 reference manual it states:

No part of this document may be reproduced in any form by any means without the express prior written permission of Arm.

I've struggled to get permission for similar activities in writing from Arm, however that was a number of years ago. I'll reach out to them again and see what they say.

@gparmeggiani
Copy link
Author

I see.
Let's hope they understand.

Would the tmlanguage file easily allow for a description tooltip or would this require a more involved development?

If adding the instruction documentation in the plugin itself is not allowed, maybe it is still possible to load it from the ARM webpage and display it in a tooltip in VSCode. (not sure if this makes any difference)

@dan-c-underwood
Copy link
Owner

I think it would require going down the programmatic route (other languages use a language server for this) however I could potentially get some of the way with snippets.

However, I'm not opposed to the programmatic route, but it would be a substantial increase in complexity for the project. So I couldn't promise timescales, but also would be open to contributions.

Sadly the Arm knowledge base has now been replaced with a PDF download of the reference manual, so sadly it's much harder to load remotely!

@gparmeggiani
Copy link
Author

https://developer.arm.com/architectures/cpu-architecture/a-profile/exploration-tools

I think it would be cool and doable under ARM's terms, if the plugin requires the user to download the XML from the page above and use that as a source for the descriptions. Unfortunately it looks like that XML is only available for A-profile CPUs and not for the others.

I've also had a look at the vscode documentation and it looks that a language server is needed for this, especially if loading an external XML is the way to go. (which, I agree, increases to complexity of the project)

@dan-c-underwood
Copy link
Owner

Ah, I hadn't spotted that - I'll try to take a look to make sure that route will work soon, as well as from the increased complexity of the language server aspect. I can't promise timescales, but I will promise that I'll investigate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants