Giter Club home page Giter Club logo

Comments (8)

mickaelistria avatar mickaelistria commented on August 17, 2024

Although at the moment, all language servers I've seen are using Node, it is not a requirement and we have to keep implementation independent from node.js.
However, for the current examples, it would indeed be interesting to reuse JSDT Node launch config directly rather than a Program Launch.

from eclipse-language-service.

guw avatar guw commented on August 17, 2024

@mickaelistria Any thoughts on usability? Launch configs are truly nice from a dev perspective. However, presenting that to some other people I got feedback that they are confusing and it's a technical detail that should better be hidden.

from eclipse-language-service.

kaloyan-raev avatar kaloyan-raev commented on August 17, 2024

@mickaelistria This one is implemented in pure PHP: https://github.com/felixfbecker/php-language-server

from eclipse-language-service.

mickaelistria avatar mickaelistria commented on August 17, 2024

@guw: AFAIK, if we want to run external programs properly in Eclipse IDE, there isn't much alternative, is there? Moreover, on the long run, I expect the Language Server Launch Configuration to be created by plugins in a smart way (finding right path or coming with a configuration wizard), without requiring users to know about and manipulate Launch Configurations.

from eclipse-language-service.

guw avatar guw commented on August 17, 2024

They should be just processes in the background. There is no need for launch configs IMO. Ideally, users won't even realize something has been started in the background.

from eclipse-language-service.

mickaelistria avatar mickaelistria commented on August 17, 2024

The benefit with Launch Configurations is that they allow environment specific tweaks. For example, OmniSharp require to override the LD_LIBRARY_PATH on most Linux distributions. The Launch Configuration gives this ability to user for free.
However, on the long run, if language server all work smoothly without any need for tweak, independent processes would be simpler. But it would require to setup yet-another registry to store the known language servers, whereas we currently reuse the Launch Configuration registry.
So I think you're right, but I have the impression it's too early to drop the Launch Configuration and its ability to let users customize how language servers are run.

from eclipse-language-service.

mickaelistria avatar mickaelistria commented on August 17, 2024

Some new advantages of relying on Run Configurations:

  • Those can be shared as .launch file so a server configuration can be distributed and configured without installing a plugin
  • If we allow Run Configuration, we can most likely also allow Debug Configuration and support issue #39 to allow development of Language Servers inside Eclipse with an immediate feedback loop.

from eclipse-language-service.

mickaelistria avatar mickaelistria commented on August 17, 2024

At the moment, there are no issues with allowing any Launch Configuration. It has allowed to fix #39, it allows users to manually add and configure new servers without installing anything. So let's close this one until an actual issue is found with this approach.

from eclipse-language-service.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.