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

[ new ] Add a GenerateDefNext code action #226

Merged
merged 2 commits into from
Nov 2, 2024

Conversation

mattpolzin
Copy link
Member

The existing LSP GenerateDef code action will generate a list of possible definitions for a type declaration. An alternative mode of interacting with these generated definitions would be to cycle through them.

This PR introduces the GenerateDefNext code action which cycles through generated defs inline (a previous def is replaced when the next one is requested).

In order for this new functionality to work, we need to carry forward proof search state across file loading. As best I can figure, this should be fine and has no negative impact on other existing LSP functionality, but there is definitely a possibility of regression in this area so we should be cognizant of the potential need to undo this change. If needed, the state needed for this GenerateDefNext code action could also be stored in LSP specific state instead of repl state.

@srghma
Copy link

srghma commented Nov 2, 2024

I see You are member of https://github.com/idris-community - You could just merge it 😉

@andorp
Copy link
Collaborator

andorp commented Nov 2, 2024

I think this is a good improvement. The generate 10 defs was a placeholder and I am really glad that you implemented the generate next def.

@mattpolzin
I don't have an active Idris installation at the moment, I can't really test this change, I trust it works for you. Just merge the PR whenever is the best.

@mattpolzin mattpolzin merged commit 4ec24c8 into idris-community:main Nov 2, 2024
2 checks passed
@mattpolzin mattpolzin deleted the gen-next-def branch November 2, 2024 13:09
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 this pull request may close these issues.

3 participants