You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: The makeRelativeToProject call in importQGLDocument should be removed.
Detail:
importQGLDocument is using the function makeRelativeToProject internally which implies that the parameter to importQGLDocument should be a relative path. However in at least one of the examples the path passed is implied to be an absolute path due to the explicit makeRelativeToProject call:
In the case above, makeRelativeToProject ends up getting called twice; this works by coincidence because the project root usually resolves to "./".
But in multi-component projects this is not the case and the extra makeRelativeToProject will cause problems. In my case this was compounded by a bug in Haskell Language Server which is returning an incorrect root for multi-component projects; the internal call to makeRelativeToProject made the HLS bug even harder to work around.
So, that's why I think makeRelativeToProject should be removed from importQGLDocument. The exact call I'm talking about is here. I also see a usage in readWith; that should probably go too.
The text was updated successfully, but these errors were encountered:
Additional thought: For maximum flexibility the QGL document could be accepted as a string instead of as a filename. The HLS issue linked above suggests the use of the embed-file package for more robust file imports. With this package you could do something like this:
Where importGQLString accepts the doc as a string. One also gains more flexibility to generate it in other ways such as using external tools or downloading direct from a URL.
Summary: The
makeRelativeToProject
call inimportQGLDocument
should be removed.Detail:
importQGLDocument
is using the functionmakeRelativeToProject
internally which implies that the parameter toimportQGLDocument
should be a relative path. However in at least one of the examples the path passed is implied to be an absolute path due to the explicitmakeRelativeToProject
call:In the case above,
makeRelativeToProject
ends up getting called twice; this works by coincidence because the project root usually resolves to "./
".But in multi-component projects this is not the case and the extra
makeRelativeToProject
will cause problems. In my case this was compounded by a bug in Haskell Language Server which is returning an incorrect root for multi-component projects; the internal call tomakeRelativeToProject
made the HLS bug even harder to work around.So, that's why I think
makeRelativeToProject
should be removed fromimportQGLDocument
. The exact call I'm talking about is here. I also see a usage inreadWith
; that should probably go too.The text was updated successfully, but these errors were encountered: