An implementation of the Language Server Protocol for LaTeX
Find a file
Patrick Förster 5a657cd2af Configure Dokka
2019-01-03 16:09:44 +01:00
gradle/wrapper Set up project 2018-12-21 14:25:38 +01:00
src Format BibTeX strings and preambles 2019-01-02 21:32:52 +01:00
.gitignore Add missing test cases 2018-12-27 17:59:25 +01:00
.travis.yml Add Travis CI configuration 2018-12-31 11:21:50 +01:00
build.gradle Configure Dokka 2019-01-03 16:09:44 +01:00
CONTRIBUTING.md Update readme 2019-01-02 18:55:35 +01:00
gradlew Set up project 2018-12-21 14:25:38 +01:00
gradlew.bat Set up project 2018-12-21 14:25:38 +01:00
LICENSE Initial commit 2018-12-21 14:08:48 +01:00
README.md Update readme 2019-01-02 18:55:35 +01:00
settings.gradle Set up project 2018-12-21 14:25:38 +01:00

Build Status

TexLab

A cross-platform implementation of the Language Server Protocol providing rich cross-editing support for the LaTeX typesetting system.

The server is designed to be independent of the editor. We provide a reference implementation for Visual Studio Code.

Getting Started

This project uses Gradle. To compile the server and run the tests execute the following command in the project directory:

$ ./gradlew build

To use the local build with the extension, we recommend creating a symbolic link:

$ ln -s ./../texlab-vscode/server/texlab.jar ./build/libs/texlab.jar

Custom Messages

Build Request

The build request is sent from the client to the server to compile a given LaTeX document.

Request:

  • method: 'textDocument/build'
  • params: BuildTextDocumentParams defined as follows:
interface BuildTextDocumentParams {
    textDocument: TextDocumentIdentifier;
}

Response:

  • result: BuildStatus defined as follows:
enum BuildStatus {
    Success = 0,
    Error = 1,
    Failure = 2,
}

Status Notification

The status notification is sent from the server to the client to inform the client about the status of the server.

Notification:

  • method: 'window/setStatus'
  • params: StatusParams defined as follows:
interface StatusParams {
    status: ServerStatus;
    uri?: string;
}

enum ServerStatus {
    Idle = 0,
    Building = 1,
    Indexing = 2,
}

Contributing

See CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.