sourcegraph/language-server-protocol

Name: language-server-protocol

Owner: Sourcegraph

Description: Defines a common protocol for language servers.

Forked from: Microsoft/language-server-protocol

Created: 2016-10-20 19:04:49.0

Updated: 2018-05-23 02:43:20.0

Pushed: 2018-05-09 17:35:07.0

Homepage:

Size: 307

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Language Server Protocol

Note: A blog covering the background and mechanics of the protocol has been added to the Visual Studio Code site.

The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, goto definition, find all references and alike into the tool. The following diagram illustrates the communication between a tool and the language server.

Interaction diagram

The language server maintains semantic information about a program implemented in a particular language.

The communication between the Editor/IDE host and the Language Server uses JSON RPC v2.0. The protocol supports servers with different capabilities. The first request sent from the Editor/IDE to the language server informs the server about the supported language features.

The first version of the protocol is based on experiences we gained while integrating OmniSharp and the TypeScript Server into VS Code. See the history section for a brief history on how the protocol evolved.

Contributing

If you are interested in fixing issues like typos or contributing directly to the protocol specification you can either file an issue or provide a pull request containing the changes to the protocol.md file.

When proposing an extension to the specification, then please refer to an implementation of the proposed changes in a language server. This will help us in understanding the particular use case.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

The Language Server Protocol

The file protocol.md specifies the language server protocol.

License

Creative Commons Attribution / MIT


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.