# Source: https://github.com/go-language-server/protocol/blob/main/docs/implementation-references.md

# Implementation references
- [Implementation references](#implementation-references)
  - [Go](#go)
  - [Node.js](#nodejs)
  - [Rust](#rust)

## Go

- [tools/internal/lsp: golang/tools](https://github.com/golang/tools/tree/master/internal/lsp)
- [sourcegraph/go-langserver: Go language server to add Go support to editors and other tools that use the Language Server Protocol (LSP)](https://github.com/sourcegraph/go-langserver)
  - [sourcegraph/go-lsp: Go types for the messages used in the Language Server Protocol.](https://github.com/sourcegraph/go-lsp)

## Node.js

- [Microsoft/vscode-languageserver-node: Language server protocol implementation for VSCode.](https://github.com/Microsoft/vscode-languageserver-node)

## Rust

- [autozimu/LanguageClient-neovim: Language Server Protocol (LSP) support for vim and neovim.](https://github.com/autozimu/LanguageClient-neovim/tree/next)
- [rust-lang-nursery/rls: Repository for the Rust Language Server (aka RLS)](https://github.com/rust-lang-nursery/rls)

  - [gluon-lang/lsp-types: Types for communicating with a language server](https://github.com/gluon-lang/lsp-types)
  - [RustDT/RustLSP: A Language Server Protocol implementation in Rust](https://github.com/RustDT/RustLSP)