# LSP and EMACS and VSCode and Sublime Text: why the differences?

**URL:** <https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339>\
**Category:** General Usage\
**Created:** [May 4, 2023, 6:57pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339 "2023-05-04T18:57:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [May 4, 2023, 6:57pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339/1 "2023-05-04T18:57:16Z")

</div>

It seems to me that there are plenty of examples of the Julia LSP not working right. I’m aware of VSCode and Sublime Text as not being quite able to make the LSP work. What I wonder is: does it work for Emacs users? One doesn’t hear about LSP problems from them. Is it that there are too few of them, or is it that it actually works on Emacs?

If you have any experience in that direction, it would be great to hear from you.

---

<div class="post-metadata">

**Author:** ![mstewart](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@mstewart](https://discourse.julialang.org/u/mstewart)\
**Post date:** [May 4, 2023, 7:45pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339/2 "2023-05-04T19:45:25Z")

</div>

I use emacs with `eglot-jl` and I occasionally see method call errors that seem bogus. Also if I make a change to a devved package, it doesn’t seem to reindex the package and I end up with missing reference errors. It’s on the same level as hitting an uncooperative machine with a hammer, but when that happens I just delete the symbol cache for that package and restart the language server, which seems to force reindexing. Probably I’m missing some nice way to handle that. But I don’t really have any other issues and I’m overall a satisfied and grateful customer.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [May 4, 2023, 7:48pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339/3 "2023-05-04T19:48:49Z")

</div>

Thank you!

So, that is interesting. You don’t see these issues: [LSP "Missing reference" woes - #13 by PetrKryslUCSD](https://discourse.julialang.org/t/lsp-missing-reference-woes/98231/13)?

---

<div class="post-metadata">

**Author:** ![mstewart](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@mstewart](https://discourse.julialang.org/u/mstewart)\
**Post date:** [May 4, 2023, 8:07pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339/4 "2023-05-04T20:07:05Z")

</div>

Now that you mention it, it doesn’t seem to mark missing references in my test code, but find definition also doesn’t seem to work there. So that seems possibly related. Things seem to work fine as far as I can tell on my main package code in `src/`, except for the issue with devved packages. What you posted looks like something I would see after substantial changes to a devved package.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [May 4, 2023, 8:30pm UTC](https://discourse.julialang.org/t/lsp-and-emacs-and-vscode-and-sublime-text-why-the-differences/98339/5 "2023-05-04T20:30:03Z")

</div>

Ok, I realize I don’t know anything about how the LSP works with these three editors: VSCode, Sublime Text, and Emacs.

Surprisingly, there are differences: For instance, as shown here, VSCode gives

 ![image](https://global.discourse-cdn.com/julialang/original/3X/6/0/60ea65d17e8b96f354d10b2a24de17bb8d3cdc81.png)

while for the same repository Sublime Text gives

 ![image](https://global.discourse-cdn.com/julialang/original/3X/7/0/7092c9cb0c9ab9c044a09e711a6299d68615d801.png)

Why are the lists of missing symbols different? Do the implementations of LSP-Julia actually differ?  
I do not have a working Emacs (I’m on Windows, which makes using Emacs an unpleasant experience),  
but I rather suspect the picture would be something else yet again.

Would it be possible to find some clues in these differences on how to fix this?
