Now I am trying to provide closer integration of runnable's detection with cargo. Who dug the project more deeply? Is there any way to get information about project layout?
What exactly do you have in mind for "close integration"? It might be a good idea to take a look at https://github.com/rust-analyzer/rust-analyzer/pull/3153, which touches many relevant thigns
So, when we analyze runnable we should respect project layout. For example main func entry point maybe located only in path that defined in manifest or default path also main not always entry point
In addition, we can not extract runnable if we have multiple definition or another kind of problem with locally correction of code
Seems we cannot derive Package Layout https://doc.rust-lang.org/cargo/guide/project-layout.html from https://doc.rust-lang.org/cargo/commands/cargo-metadata.html needed for check placement of main function. So... i think it only remains implement or borrow cargo tompl parser
How i can get FileId by string path?
vfs.file_id, I think, if you have access to it
I will try to reformulate the question. How i can resolve std::process::Termination for getting it implementation in std library