d-language-server / vscode-dlang

D language support for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=LaurentTreguier.vscode-dls
MIT License
22 stars 7 forks source link

update embedded dscanner from 0.5.8 #3

Closed thinkingerrol closed 5 years ago

thinkingerrol commented 6 years ago

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

LaurentTreguier commented 6 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.

LaurentTreguier commented 6 years ago

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

thinkingerrol commented 6 years ago

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 ?

LaurentTreguier commented 6 years ago

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.

LaurentTreguier commented 5 years ago

I think this can be closed; D-Scanner 0.5.11 is used by DLS right now