-
Notifications
You must be signed in to change notification settings - Fork 22
Home
Get the Extension from Visual Studio Marketplace
Tested under Linux. Not work for Windows, because it seems that lsp-mode
doesn't support socket for Windows.
(add-to-list 'lsp-language-id-configuration '(wolfram-mode . "Mathematica"))
(lsp-register-client
(make-lsp-client :language-id 'wolfram
:new-connection (lsp-tcp-server-command
(lambda (port)
`("wolfram" ;; or "wolframscript"
"-script" ;; or "-file"
"path/to/lsp-wl/init.wls"
,(concat
"--socket="
(number-to-string port)
))))
:major-modes '(wolfram-mode)
:server-id 'lsp-wl
))
Use coc.nvim together with coc-lsp-wl.
To reveal the internal debug and kernel message, change info
to debug
at
init.wls#L188 or the similar place if you check out another branch.
It reads:
loglevel = ArgumentValue["--log"|"-l", Alternatives @@ LoggingLevels]
// Replace[_Missing -> "debug"];
You can see the logging message in the output console of the editor. You may also dump it to a file. Uncomment init.wls#L194 or the similar place in another branch, so it reads:
logstreams = {
OpenWrite[WolframLanguageServer`RootDirectory <> "wlserver.log"],
First @ Streams["stderr"]
};
It will be saved to path/to/lsp-wl/wlserver.log
.
Mathematica 12.3 & 13.0 are shipped with a new ZeroMQLink paclet version 1.2.0 which was found to have issues with TCP connections.
Please manually upgrade the ZeroMQLink paclet to version 1.2.6 or later:
PacletInstall["ZeroMQLink"]
Some versions of Wolfram Engine do not come with symbol usages. Thus all the hovering and completion documentation will be empty with that particular version.
As a workaround, you can copy an existing Usage.m
file from Mathematica or another version of Wolfram Engine.
The path is $InstallationDirectory\SystemFiles\Kernel\TextResources\$Language\Usage.m
.
The Curry
issue has been resolved in 0.2.1. If it still happens, please file an issue.
-
Curry
s has been replaced by lambda expressions project-widely.Meanwhile, I figured out thatCurry
is not so efficient as the lambda function, so I started to transform them back intoFunction
.Mathematica 11.2 doesn't haveCurry
function, so far, you just need to checkout thedevelop
branch, where I implemented my ownMyCurry
function.