Closed thinkingerrol closed 5 years ago
That's because it's using D-Scanner as a library and not as a separate executable. DLS is stuck with version 0.5.8 because newer versions use libdparse 0.9.x (which supports expresison-based contracts). However, DFMT (which DLS is also using as a library) is still using libdparse 0.8.x, so upgrading DCD and D-Scanner would cause a dependency conflict when building DLS.
A new DFMT release using libdparse 0.9.x should be coming though.
Also about the 1.6.2 version of vscode-dls, that's a problem with VSCode I think, I do publish my release on the marketplace, and I see the actual latest version (1.10.3) on it : https://marketplace.visualstudio.com/items?itemName=LaurentTreguier.vscode-dls
I don't want to use DFMT; is there perhaps an easy (for any values of easy) way for me to rebuild DLS with latest D-Scanner and no DFMT and tell vscode-dls
to use the freshly built DLS ?
You can change the version of libdparse
and dscanner
in dub.selections.json
to 0.9.9
and 0.5.11
respectively and build it using dub build --nodeps
after fetching all the dependencies manually. Then you can use d.dlsPath
in vscode-dls to set the path to your custom dls executable.
I think this can be closed; D-Scanner 0.5.11 is used by DLS right now
The dscanner version that is used by vscode-dls-1.6.2 (latest from Marketplace, newer releases available in github but it's unclear how to install them) is too old, and does not understand expression-based contract syntax which is definitely working in dscanner 0.5.11 that I have on my PATH via /usr/local/bin
Ubuntu 18.04 LTS