-
Notifications
You must be signed in to change notification settings - Fork 60
Support solution filters (.slnf) #352
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
base: main
Are you sure you want to change the base?
Conversation
|
As documented here, Marking the PR as draft for now, till we can find a workaround for this. |
|
Before #315 we parsed the files using lua patterns. I am considering going back to this strategy. Especially on windows there was a major performance difference. For my standard sln file with 6 projects. I used to take We could look into the slnf format and see if it's easy to parse |
|
Turns out solution filter (.slnf) files are JSON files that list out the projects that need to be included. So parsing their content as JSON and reading the solution.projects property should suffice to replace executing the We could check the file extension in References: |
|
Yeah could definitely do something like this local contents = vim.fn.readfile(slnf-path)
local projects = vim.fn.json_decode(contents)
--Projects is now a list of paths |
|
We are currently returning the formatted In one instance, we seem to be trying to execute the returned command as a background job. That's where I had trouble refactoring the existing code. I wanted to refactor such that Will provide more details tomorrow if necessary. |
|
There's also |
Adds support for solution filters.
Since dotnet CLI commands as well as MSBuild already support solution filters, letting
.slnffiles to be discovered by the plugin during directory scan seems to be sufficient.I have tested the same to be working on a Windows 11 machine.