Language Server Protocol support for Sublime Text 3
Clone or download

README.md

LSP

GitHub release Build Status Coverage Status license Join the chat at https://gitter.im/SublimeLSP/Lobby

Gives Sublime Text 3 rich editing features for languages with Language Server Protocol support.

Tested against language servers for javascript, typescript, python, php, java, go, c/c++ (clangd), scala (dotty), julia, rust, reason.

See Language Server Protocol for available implementations.

Features

Completions with snippet support.

Navigate code with Go to Symbol Definition and Find Symbol References

Inline documentation from Hover and Signature Help popups

hover screenshot

As-you-type diagnostics with support for code fixes (F4 to select, super+. to trigger actions)

diagnostics screenshot

Installing

Normal installation: Install the LSP package through Package Control in Sublime Text.

To run latest master:

  1. Clone this repository into your Packages directory
  2. Run Package Control: Satisfy Dependencies in Sublime

Configuration

  1. Install a language server for a language of your choice
  2. Run LSP: Enable Language Server from the Command Palette to enable your server.
  • A configuration can be added under clients in Preferences: LSP Settings
  1. Open a document supported by this language server.
  2. LSP should report the language server starting in the status bar.

Documentation is available at LSP.readthedocs.io or in the docs directory

Troubleshooting

Enable the log_debug setting, restart Sublime and open the console. See the Troubleshooting guide for tips and known limitations.

Have you added multiple folders to your Sublime workspace? LSP may not handle your second folder as expected, see this issue for more details.