An implementation of the Language Server Protocol for LaTeX
Find a file
Patrick Förster fed95db1cf Fix CI workflow
2022-05-22 19:14:58 +02:00
.github Fix CI workflow 2022-05-22 19:14:58 +02:00
.vscode Move VSCode extension to main repository 2022-05-22 15:55:07 +02:00
benches Use lsp_types::Url directly instead of wrapper 2022-04-28 21:40:04 +02:00
data Compress component database 2021-06-18 19:33:22 +02:00
docs Add links to plugins that simplify inverse search 2022-03-21 20:06:21 +01:00
editors/code Move VSCode extension to main repository 2022-05-22 15:55:07 +02:00
src Add command line flag to print version 2022-05-22 12:48:15 +02:00
tests/it Improve BibTex parser (#623) 2022-05-05 21:16:16 +02:00
.gitattributes Do not upload VSCode extension to CTAN 2022-05-22 18:46:47 +02:00
.gitignore Fix clippy warnings 2019-12-28 19:29:36 +01:00
Cargo.lock Bump crossbeam-utils from 0.8.6 to 0.8.8 2022-05-22 11:49:05 +02:00
Cargo.toml Bump unindent from 0.1.8 to 0.1.9 (#626) 2022-05-13 16:18:01 +00:00
CHANGELOG.md Bump version to v3.3.2 2022-02-26 09:27:17 +01:00
CONTRIBUTING.md Update readme 2019-01-02 18:55:35 +01:00
LICENSE Change license to GPLv3 2019-11-27 17:40:27 +01:00
README.md Reuse steps between CI pipeline jobs (#622) 2022-05-05 20:51:17 +02:00
rust-toolchain Use stable Rust toolchain 2019-11-08 16:36:23 +01:00
texlab.1 Update man page 2020-05-14 14:16:32 +02:00
texlab.pdf Bump version to v3.3.2 2022-02-26 09:27:17 +01:00
texlab.tex Add source code for CTAN documentation 2021-06-01 17:47:56 +02:00

CI Coverage Rust

GitHub release CTAN Arch Linux NixOS Stable NixOS Unstable Homebrew Scoop FreeBSD NetBSD

TexLab

A cross-platform implementation of the Language Server Protocol providing rich cross-editing support for the LaTeX typesetting system. The server may be used with any editor that implements the Language Server Protocol.

Demo

Getting Started

If your editor extension like does not install the TexLab server automatically, you will need to install it manually. We provide precompiled binaries for Windows, Linux and macOS. Alternatively, you can build TexLab from source or install it using your package manager. For a list of supported package managers, you can take a look at Repology.

Requirements

A TeX distribution is not strictly required to use the server but TexLab cannot compile your documents without one. TexLab supports compiling using Tectonic. For an example configuration, please see here.

On Windows, you may need to install Microsoft Visual C++ Redistributable for Visual Studio 2015.

Building from Source

You will need to install the following dependencies to compile the server:

  • A recent, stable version of Rust

Then run the following command in the project folder:

cargo build --release

Alternatively, you can run the following command without having to clone this repository and make TexLab available in your PATH:

cargo install --git https://github.com/latex-lsp/texlab.git --locked

Usage

After installing an editor extension, you can simply start editing LaTeX files. All editing features work out-of-the-box over all files in the currently opened workspace. There is no need for magic comments like %!TEX root and TexLab should figure out the dependencies of a file on its own. Note that you may need to set the texlab.rootDirectory option for some multi-folder projects.

TexLab features a variety of options which can be used to configure features like building or forward search.

Development

You can create a debug build by building the server without the --release flag. The resulting build can be used with the Visual Studio Code extension by adding the absolute path of the target/debug folder to your PATH environment variable.

TexLab has an extensive test suite of unit and integration tests. You can run them by executing

cargo test

in the project folder.

For a list of custom messages, please see here.

Contributing

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