Improve completion proposal sorting, highlighting and insertion

* Show most matching first
* Better handling of prefix/suffix insertion
* Better handling of matching parts

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

This repository contains experiments to make Eclipse IDE able to consume the Language Server protocol.

Install it into Eclipse IDE using this p2 repository: http://repository.jboss.org/nexus/content/unzip/unzip/org/eclipse/languageserver/repository/0.1.0-SNAPSHOT/repository-0.1.0-SNAPSHOT.zip-unzip/

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

Extensions to the Generic Editor proposal for Eclipse Platform Text are provided so having the generic editor + this bundle enables the LSP based behavior in the Generic editor. But those classes can be reused in any editor or other extensions. Examples of integration contain:

  • C# edition in Eclipse IDE using OmniSharp LSP implementation
  • JSON (with schema) using VSCode LSP impl
  • CSS using VSCode LSP impl.

See also Documentation Index.

This has been initiated during the EclipseCon France 2016 Unconference. Contributions are highly welcome using GitHub issues and PR at the moment.

This piece of work is meant to move to some Eclipse.org project then inside the Eclipse IDE package directly as soon as it is considered stable and isable enough.