In the LSP, we might throw an error when we try to use one of the server's features, which would indicate a problem with it. In some places, we are throwing errors where we should simply ignore them.
For example, parsing a document could fail while editing, meaning we cannot obtain a clear parse tree. Then, if we try to use goto definition, it would either fail entirely and throw a pop-up error, or it would get info from the previous parse tree, which contains incorrect positions, and inner operations could fail. While it is logical that we would throw an error, we should somehow differentiate between these errors and errors within the internal logic of the server, and not spam users with pop-up errors while they are actively editing a SimplicityHL program.
In the LSP, we might throw an error when we try to use one of the server's features, which would indicate a problem with it. In some places, we are throwing errors where we should simply ignore them.
For example, parsing a document could fail while editing, meaning we cannot obtain a clear parse tree. Then, if we try to use
goto definition, it would either fail entirely and throw a pop-up error, or it would get info from the previous parse tree, which contains incorrect positions, and inner operations could fail. While it is logical that we would throw an error, we should somehow differentiate between these errors and errors within the internal logic of the server, and not spam users with pop-up errors while they are actively editing a SimplicityHL program.