Open
Description
At the moment, when the language server starts, we setup the project as if it was never opened before. This means we have to resolve all the dependencies, compile all the files and index all the symbols. We could cache some (or all) of these things for each project. This would lead to faster startup times for projects that were opened before. We would obviously need to make sure the project didn't change since it was last opened.