Skip to content

Daedliy/tsc-language-server

 
 

Repository files navigation

TSC Language Server

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.

Project Overview

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.

Getting Started

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.

Usage

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).

Current Language Clients/Configurations

  • Visual Studio Code (WIP)

For Language Client Developers

The TSC language server exposes the following LSP-specific JSON-RPC methods:

  • textDocument/didOpen - adds the opened document to the language server's file handler
  • textDocument/didClose - removes the document from the language server's file handler
  • textDocument/didChange - updates the document in the language server's file handler and sends error/warning diagnostics to the client
  • textDocument/completion - sends a list of TSC commands that can be used from within the editor's autocompletion feature
  • textDocument/hover - provides hover information for commands and events
  • tsc/setConfig - updates the LSP's default configuration with overrides from the workspace's .tscrc.json file
  • tsc/resetConfig - reverts to the LSP's built-in (standard) TSC configuration

Credits

License

MIT.

About

language server for the tsc scripting format

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 99.3%
  • Other 0.7%