A language server made for the TSC scripting format used in games such as Cave
Story. It aims to be small, performant, and completely editor-agnostic. The
language server implements the .tscrc.json spec.
The language server is written in the Go programming language and it ships as a standalone binary. Language clients can connect to the server through TCP or stdio.
Please note that this language server is currently not 100% stable, so bugs may appear here and there.
Language clients should normally install the language server for you automatically but you can also install it manually. In this case, you have to keep it up to date yourself, however.
You can download a binary from the GitHub releases page. Checksums are always attached so you can verify the integrity after download. Placing the binary somewhere in your PATH means that language cliens will be able to use it without any additional steps.
You can start the server in one of two modes:
- Standard I/O mode (by running
tsc-ls start) - TCP mode (by running
tsc-ls tcp)
...however, you'd normally want a language client to handle this for you (a plugin or configuration in your IDE/editor).
- Visual Studio Code (WIP)
The TSC language server exposes the following LSP-specific JSON-RPC methods:
textDocument/didOpen- adds the opened document to the language server's file handlertextDocument/didClose- removes the document from the language server's file handlertextDocument/didChange- updates the document in the language server's file handler and sends error/warning diagnostics to the clienttextDocument/completion- sends a list of TSC commands that can be used from within the editor's autocompletion featuretextDocument/hover- provides hover information for commands and eventstsc/setConfig- updates the LSP's default configuration with overrides from the workspace's.tscrc.jsonfiletsc/resetConfig- reverts to the LSP's built-in (standard) TSC configuration
- Studio Pixel and Nicalis for Cave Story and the TSC scripting format
- The Terraform Language Server for inspiring a big part of this project's structure and inner workings (seriously guys, you did a phenomenal job!)
MIT.