metals icon indicating copy to clipboard operation
metals copied to clipboard

Expand Selection in comments for Scala 2

Open doofin opened this issue 1 year ago • 6 comments

fix https://github.com/scalameta/metals/issues/3615 for Scala 2

doofin avatar Feb 10 '24 17:02 doofin

the tests are successful, but how do I manually test it? publishLocal;mtags/publishLocal doesn't seem to work and there's errors in metals log like:

Error downloading org.scalameta:mtags_2.12.18:1.2.1-SNAPSHOT

doofin avatar Feb 10 '24 20:02 doofin

the tests are successful, but how do I manually test it? publishLocal;mtags/publishLocal doesn't seem to work and there's errors in metals log like: Error downloading org.scalameta:mtags_2.12.18:1.2.1-SNAPSHOT

I'm guessing you're referring to this: https://scalameta.org/metals/docs/contributors/getting-started/#manually-testing-an-lspsuite ?publishLocal; mtags/publishLocal will only publish locally mtags for Scala 2.13.12, you need to run publishLocal; ++2.12.18 mtags/publishLocal to publish for Scala 2.12.18. You can also run quick-publish-local, which will locally publish mtags for a few Scala versions (including 2.12.18).

kasiaMarek avatar Feb 12 '24 11:02 kasiaMarek

@kasiaMarek thanks, no I want to test metals plugin it in vscode for 2.13 and 3, does quick-publish-local make it work for major versions like 2.12, 2.13, 3?

doofin avatar Feb 14 '24 18:02 doofin

does quick-publish-local make it work for major versions like 2.12, 2.13, 3

You can find all the quick publish versions here: https://github.com/scalameta/metals/blob/e65409f2d77655def76e705c3c0320da7544c345/project/V.scala#L136 but 2.12.18, 2.13.12, and 3.3.1 are included.

kasiaMarek avatar Feb 15 '24 09:02 kasiaMarek

thanks @kasiaMarek , able to test in 2.13 with ++2.13.12 publishLocal;mtags/publishLocal .

Now it's weird that expand Selection in comments doesn't seem to work in vscode for manual testing while other tests are successful. I print some logs for ranges and it looks correct . @tgodzik could you help me verify if it works on your side?

doofin avatar Feb 18 '24 14:02 doofin

seems like a bug in vscode extention from vscode Devtools:

ERR Cannot read properties of null (reading 'range'): TypeError: Cannot read properties of null (reading 'range')
	at asSelectionRange (/home/dhp/.vscode-oss/extensions/scalameta.metals-1.26.1/node_modules/vscode-languageclient/lib/common/protocolConverter.js:856:63)
	at convertBatch (/home/dhp/.vscode-oss/extensions/scalameta.metals-1.26.1/node_modules/vscode-languageclient/lib/common/utils/async.js:193:25)
	at Object.map (/home/dhp/.vscode-oss/extensions/scalameta.metals-1.26.1/node_modules/vscode-languageclient/lib/common/utils/async.js:202:17)
	at Object.asSelectionRanges (/home/dhp/.vscode-oss/extensions/scalameta.metals-1.26.1/node_modules/vscode-languageclient/lib/common/protocolConverter.js:862:22)
	at /home/dhp/.vscode-oss/extensions/scalameta.metals-1.26.1/node_modules/vscode-languageclient/lib/common/selectionRange.js:40:62
	at async ee.provideSelectionRanges (/usr/lib/code/out/vs/workbench/api/node/extensionHostProcess.js:150:108129)

related to vscode API provideSelectionRanges

doofin avatar Feb 25 '24 17:02 doofin

@kasiaMarek @tgodzik shall we merge this first? unit test passed for this ,just that there's sth in the vscode plugin side that needs to be fixed

doofin avatar Apr 05 '24 12:04 doofin

thanks @kasiaMarek I cleaned them up, forget to do so previously

doofin avatar Apr 06 '24 22:04 doofin

thanks @kasiaMarek I fix some of the nits, but some other tests from main failed so I can't merge:

[error] Failed: Total 701, Failed 1, Errors 0, Passed 698, Skipped 2, Ignored 3
[error] Failed tests:
[error] 	tests.RenameLspSuite

doofin avatar Apr 10 '24 12:04 doofin