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

Define interface between extension and Rascal #2

Open
bsddemon opened this issue Jan 12, 2023 · 5 comments
Open

Define interface between extension and Rascal #2

bsddemon opened this issue Jan 12, 2023 · 5 comments

Comments

@bsddemon
Copy link
Collaborator

bsddemon commented Jan 12, 2023

I want the extension to be generic.
The output of the Rascal scripts needs to be according some kind of interface.
Idea: "severity""file""line""column""message"

@jurgenvinju
Copy link
Member

To make sure analysis remain portable between different IDEs we decided for now to standardize on the Message datatype in the standard library. Every analysis is a function that returns list[Message]. The input parameters can be more flexible. Perhaps we could stick with loc input and a default PathConfig in case libraries need to be considered during the analysis?

@jurgenvinju
Copy link
Member

So any analysis function has this signature list[Message] (loc input, PathConfig pcfg=pathConfig()

@jurgenvinju
Copy link
Member

Our code here can unpack the messages and visualize them in the IDE. We usually have an independent registerDiagnostics(list[Message] msgs) for that. Let's start writing that one?

@jurgenvinju
Copy link
Member

If we want to be lazy then perhaps serializing the messages as XML or JSON is the fastest way is bridging then to the studio.

@jurgenvinju
Copy link
Member

Btw for all generic IDE services we could implement see util::IDEServices

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

No branches or pull requests

2 participants