Ensure markers use right LS to compute resolutions

+ Code cleanup and fun with streams

Change-Id: I1cd99ddfe316f3c66244ee4401c1a6221785dfe7
Signed-off-by: Mickael Istria <mistria@redhat.com>
4 files changed
tree: 8d04472bb1f2f2d8d5500fed1b3ebb73c36687f7
  1. .gitignore
  2. .project
  3. CONTRIBUTING.md
  4. README.md
  5. doc/
  6. org.eclipse.lsp4e.test/
  7. org.eclipse.lsp4e.tests.mock/
  8. org.eclipse.lsp4e/
  9. pom.xml
  10. repository/
  11. svg/
  12. target-platform-e46-compatibility/
  13. target-platform/
README.md

Eclipse LSP4E

Eclipse LSP4E makes Eclipse IDE able to consume the Language Server protocol.

Target audience are Eclipse plugin developers or Language developers willing to integrate a language which ships a Language Server ino Eclipse IDE. End-users can also take advantage of this as LSP4E also define a way to bind Eclipse IDE to existing language servers from UI.

Install it into Eclipse IDE, or add it to your target-platform using one of this p2 repository:

Preview

Features

LSP4E mostly ships extensions to the Generic Editor proposal for Eclipse Platform Text are provided. But those classes can be reused in any editor or other extensions.

At the moment, it provides regular JFace/Platform Text classes for:

  • detection of language server for given file
  • synchronization of files with Language Server
  • diagnostics as problem markers
  • completion
  • hover
  • jump to declaration
  • Find References
  • File symbols (as Outline or Quick Outline)
  • Workspace symbols
  • Language Server messages as notifications

Examples

Examples of integration contain:

  • aCute C# edition in Eclipse IDE using LSP4E and OmniSharp LSP implementation
  • BlueSky HTML (with embedded JS and CSS), CSS, JSON (with schema), JavaScript and TypeScript edition, using LSP4E and language servers.
  • lsp4e-php Binds a PHP language server to the Eclipse IDE.
  • lsp4e-python Binds a Python language server to the Eclipse IDE.

All those examples are already good for usage as they provide advanced edition features, and great for showcase of the LSP4E project.

Community

Contributions are highly welcome. [See how](https://projects.eclipse.org/projects/technology.lsp4e/developer}

Related projects

As the Language Server Protocol doesn't include support for syntax highlighting, most adopters of LSP4E usually pair it with the Eclipse TM4E project to provide Syntax Highlighting according to TextMate grammars.

History

This has been initiated during the EclipseCon France 2016 Unconference. Some initial documentation is still available (although it may not be up to date).