Language Server Protocol support for Sublime Text 3 that gives you IDE features.
Open the command palette and run Package Control: Install Package
, then select LSP
.
Clone this repository into your Packages directory. Open the command palette and run Package Control: Satisfy Dependencies
.
Follow the installation steps for a language server.
Enable the server by running LSP: Enable Language Server
from the command palette.
Open a document supported by the language server. LSP should report the language server starting in the status bar.
Documentation is available at LSP.readthedocs.io.
- Bash
- C/C++
- C#
- CSS/LESS/SASS (SCSS only)
- D
- Dart
- Elixir
- Elm
- Erlang
- Flow (JavaScript)
- Fortran
- Go
- HTML
- Java
- JavaScript/TypeScript
- JSON
- Julia
- Kotlin
- LaTeX
- Lisp
- Lua
- PHP
- Polymer
- PowerShell
- Python
- R
- Reason
- Ruby
- Rust
- Scala
- Terraform
- Vue (JavaScript)
- XML
See Language Server Protocol for more available implementations. Please create issues/pull requests so we can get support for more languages.
LSP uses mdpopups to display the popup. You can override its style by creating a Packages/User/mdpopups.css
file. See the mdpopups documentation for more details.
If you have any problems, see the troubleshooting guide for tips and known limitations. If the documentation cannot solve your problem, you can look for help in:
- The #lsp channel (join the SublimeHQ Discord first!)
- By searching or creating a new issue
- Search the old Gitter chat (for live chat join Discord instead)
- ✅ synchronization
- ✅ didOpen
- ✅ didChange
- ✅ Full text sync
- ❌ Incremental text sync
- ✅ willSave
- ✅ willSaveWaitUntil
- ✅ didSave
- ✅ Include text
- ✅ didClose
- ✅ completion
- ❌ documentation field is ignored
- ❌ completionItem/resolve is not perfect
- ❌ various manual workarounds for textEdit
- ✅ hover
- ✅ signatureHelp
- ✅ declaration
- ✅ link support
- ✅ definition
- ✅ link support
- ✅ typeDefinition
- ✅ link support
- ✅ implementation
- ✅ link support
- ✅ references
- ✅ documentHighlight
- ✅ documentSymbol
- ✅ codeAction
- ❌ codeLens
- ❌ documentLink
- ✅ colorProvider
- ✅ formatting
- ✅ rangeFormatting
- ❌ onTypeFormatting
- ✅ rename
- ✅ publishDiagnostics
- ❌ foldingRange
- ✅ applyEdit
- ✅ workspaceEdit
- ✅ didChangeConfiguration
- ❌ didChangeWatchedFiles
- ✅ symbol
- ✅ executeCommand