I am trying to get this Matlab language server to work with lsp-mode. Following the instructions in lsp-mode's github page, I inserted the following in my init.el
:
(use-package lsp-mode
:ensure t
:commands (lsp lsp-deferred)
:config
(setq lsp-auto-configure t)
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection "~/.local/share/git/matlab-langserver/matlab-langserver.sh")
:major-modes '(matlab-mode)
:server-id 'matlab-langserver)))
Where matlab-langserver.sh
is
#!/usr/bin/env bash
cd ~/.local/share/git/matlab-langserver/
MATLABROOT="/opt/MATLAB/R2018b"
java -Djava.library.path=$MATLABROOT/bin/glnxa64 -cp $MATLABROOT/extern/engines/java/jar/engine.jar:$MATLABROOT/java/jar/jmi.jar:./build/libs/lsp-matlab-0.1.jar org.tokor.lspmatlab.Application
That last java command being the way to start the server. Here's what happens if I just run this script:
➜ matlab-langserver git:(master) ✗ ./matlab-langserver.sh
2019-11-27 12:50:27.252 [main] INFO org.tokor.lspmatlab.Application {} - Starting server
2019-11-27 12:50:27.542 [main] INFO org.tokor.lspmatlab.MATLABEngineSingleton {} - Could not find existing sessions. Starting MATLAB Engine...
When I load up a Matlab m file and start lsp
, it connects successfully to the server, but then doesn't do anything. No autocomplete, no hover, nothing.
Here is some sample output from *lsp-log*
[Trace - 12:41:59 PM] Sending request 'textDocument/signatureHelp - (14)'.
Params: {
"textDocument": {
"uri": "file:///home/user/Documents/freq_resp_with_damping.m"
},
"position": {
"line": 33,
"character": 16
}
}
[Trace - 12:41:59 PM] Received response 'textDocument/signatureHelp - (14)' in 10ms.
Result: null
[Trace - 12:42:07 PM] Sending request 'textDocument/signatureHelp - (15)'.
Params: {
"textDocument": {
"uri": "file:///home/user/Documents/freq_resp_with_damping.m"
},
"position": {
"line": 60,
"character": 27
}
}
[Trace - 12:42:07 PM] Received response 'textDocument/signatureHelp - (15)' in 10ms.
Result: null
Any ideas how I can get it to work?