Skip to content

Language server protocol implementation for VSCode. This allows implementing language services in JS/TS running on node.js

License

Notifications You must be signed in to change notification settings

iyyappam/vscode-languageserver-node

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSCode Language Server - Node

This repository contains the code for the following npm modules:

  • vscode-languageclient: npm module to talk to a VSCode language server from a VSCode extension:
    NPM Version NPM Downloads
  • vscode-languageserver: npm module to implement a VSCode language server using Node.js as a runtime:
    NPM Version NPM Downloads
  • vscode-languageserver-types: data types used by the language server client and server:
    NPM Version NPM Downloads
  • vscode-jsonrpc: the underlying message protocol to communicate between a client and a server:
    NPM Version NPM Downloads

All four npm modules are built using one travis build. Its status is:

Build Status

Click here for a detailed document on how to use these npm modules to implement language servers for VSCode.

History

  • Next (2.4.0) Client and Server

    • Data types such as Range, Position, TextDocument, Hover, CompletionItem... extracted to new node module vscode-languageserver-types. The new node module is shared between the server and client and can also be used by language service libraries that want to use the same data types.
  • 2.3.0: Client only

    • the client no restart the server if the server crashes without a prior exit notification sent. The strategy used to restart the server is pluggable (see LanguageClientOptions.errorHandler). The default strategy restart the server unless it crashed 5 times or more in the last 3 minutes.
  • 2.0: A detailed desciption of the 2.0 version can be found here. A summary of the changes:

    • support for request cancellation. Cancellation is automatically hooked to VSCode's cancellation tokens
    • document save notification.
    • Synced text documents carry VSCode's text document version number
  • 1.1.x: Provides all language service feature available in the extension host via the language client / server protocol. Features added:

    • Code Actions: provide actions to fix diagnostic problems.
    • Code Lens: provide commands that are shown along with source text.
    • Formatting: whole document, document ranges and formatting on type.
    • Rename refactoring: provides renaming symbols.
  • 1.0.x: Version which provides support for the following features:

    • Transports: stdio and node IPC can be used as a transport.
    • Document synchronization: incremental and full text document synchronization.
    • Configuration synchronization: synchronization of configuration settings to the server.
    • File events: synchronization of file events to the server.
    • Code Complete: provides code complete lists.
    • Document Highlights: highlights all 'equal' symbols in a text document.
    • Hover: provides hover information for a symbol selected in a text document.
    • Signature Help: provides signature help for a symbol selected in a text document.
    • Goto Definition: provides goto definition support for a symbol selected in a text document.
    • Find References: finds all project-wide references for a symbol selected in a text document.
    • List Document Symbols: lists all symbols defined in a text document.
    • List Workspace Symbols: lists all project-wide symbols.
  • 0.10.x: Intial versions to build a good API for the client and server side

License

MIT

About

Language server protocol implementation for VSCode. This allows implementing language services in JS/TS running on node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.3%
  • JavaScript 1.5%
  • Shell 0.2%