Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Externalize some features by creating Language Server for the LSP, Language Server Protocol #1277

Open
evandrocoan opened this issue Feb 1, 2018 · 1 comment

Comments

@evandrocoan
Copy link
Contributor

What do you think about it?

As the current source code is already written in Python, the LS can also be just receiving the code from here. The advantage is that our work on it would also be useful for other editors.

  1. http://langserver.org
  2. https://www.youtube.com/watch?v=2GqpdfIAhz8 (Language Server Protocol Explained)
@ig0774
Copy link
Contributor

ig0774 commented Feb 1, 2018

This project probably isn't the ideal starting point for a LaTeX LS.

  • Our license is... ambiguous (see Can it be an open source project? #1175) and even forking just the required components runs up against this.

  • Python may not be the ideal language to write the LS in, since there's no way to guarantee that it's installed on every given client machine (Windows). Perl 5 seems a better candidate, since it's basically required for a working LaTeX install.

  • Any eventual LS, if it uses the cwl completions, probably needs to be licensed under the GPL, since those files are drawn from GPL-licensed projects. We (maybe) get around this since we don't "link" to the cwl files, but simply use them if they are available. There's some discussion of this related to the Atom port in Add support for cwl autocompletion msiniscalchi/atom-latextools#53.

  • Much of the way LaTeXTools is designed is somewhat dependent on it being run in ST. These may not always be the best decisions in an LS environment.

In short, LaTeXTools could be an inspiration for an eventual LaTeX LS, but it's probably not anywhere near as simple as just forking (parts of) LaTeXTools and adding something to handle the LS protocol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants