sublimelsp/LSP
Language Server Protocol support for Sublime Text 3
repo name | sublimelsp/LSP |
repo link | https://github.com/sublimelsp/LSP |
homepage | |
language | Python |
size (curr.) | 2196 kB |
stars (curr.) | 791 |
created | 2017-04-08 |
license | MIT License |
LSP
Language Server Protocol support for Sublime Text 3 that gives you IDE features.
Installation
Stable Version
Open the command palette and run Package Control: Install Package
, then select LSP
.
Development Version
Clone this repository into your Packages directory. Open the command palette and run Package Control: Satisfy Dependencies
.
Getting started
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.
Available Languages
- Bash
- C/C++
- C#
- CSS/LESS/SASS (SCSS only)
- D
- Dart
- Elixir
- Elm
- 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.
Customisation of the popups
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.
Getting help
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)
Capabilities
Text Document Capabilities
- ✅ 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
Workspace Capabilities
- ✅ applyEdit
- ✅ workspaceEdit
- ✅ didChangeConfiguration
- ❌ didChangeWatchedFiles
- ✅ symbol
- ✅ executeCommand